Вопросы с тегом «design»

11
Эффективный способ представления гексагональной настольной логики для игр типа ушка

Мне нужно реализовать AI для игры Abalone, и мне интересно, как лучше представить логику платы с помощью Java, не тратя слишком много ресурсов на все процедуры проверки и обновления. Лучше всего использовать различные списки? Матрица объектов Cell? Любое предложение?...

11
Почему ключевое слово «out» используется в двух, казалось бы, разрозненных контекстах?

В C # outключевое слово может использоваться двумя различными способами. В качестве модификатора параметра, в котором аргумент передается по ссылке class OutExample { static void Method(out int i) { i = 44; } static void Main() { int value; Method(out value); // value is now 44 } } В качестве...

11
Где разместить общее соединение с базой данных для моих классов

У меня есть несколько классов (репозитории), которые выполняют задачу сохранения / извлечения некоторых объектов в / из базы данных; все они должны установить соединение с одной базой данных. Я думал, чтобы избежать переопределения ConnectionStringи SqlConnectionв каждом классе, передавая им...

11
Шаблон Дублирования Класса?

В настоящее время я работаю сольным разработчиком над моим текущим проектом. Я унаследовал проект от другого разработчика, который с тех пор покинул компанию. Это веб-приложение в стиле модель-вид-контроллер в C #. Он использует Entity Framework для реляционного отображения объектов. И есть два...

11
Почему невозможно перегрузить составной оператор присваивания в C #?

Название вводит в заблуждение, поэтому, пожалуйста, прочитайте весь вопрос :-) . Под «составного оператора присваивания» Я имею в виду конструкцию , как это op=, например +=. Оператор чистого присваивания ( =) не относится к моему вопросу. Под «почему» я имею в виду не мнение, а ресурс (книгу,...

11
Должен ли я предпочесть композицию или наследование в этом сценарии?

Рассмотрим интерфейс: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Этот интерфейс реализован рядом классов, которые генерируют волны различной формы (например, SineWaveGeneratorи SquareWaveGenerator). Я хочу реализовать класс, который генерирует...

11
Система типов для производительности

Существуют ли (статические) системы типов, которые пытаются формализовать характеристики производительности программ? Я не могу найти, кажется, найти такие попытки. Поскольку системы типов являются (одним из) наиболее мощными инструментами в арсенале программиста для создания заявлений о...

11
Классы Python только с одним экземпляром: когда создавать (один) экземпляр класса и когда вместо этого работать с классом?

Данный класс Python, который будет создан только один раз, то есть будет только один объект класса. Мне было интересно, в каких случаях имеет смысл создавать отдельный экземпляр класса, а не работать непосредственно с классом. Есть похожий вопрос , но он имеет другую направленность: речь идет о...

11
статические глобалы и анонимные пространства имен в C ++

Почему в C ++ проводилось какое-либо различие между статическими глобальными переменными (внутренняя связь) и символами в безымянном пространстве имен (внешняя связь, но в любом случае нет возможности ссылаться на нее извне) при представлении последнего? Какие-либо из этих причин все еще...

11
Объектно-ориентированное позднее связывание

В определении объекта Alan Kays есть определение, которое я частично не понимаю: Для меня ООП означает только обмен сообщениями, локальное хранение и защиту, а также скрытие процесса состояния и крайнюю LateBinding всех вещей. Но что означает «LateBinding»? Как я могу применить это на языке, как C...

11
Лучшая стратегия для сообщения о прогрессе в UI - как должен происходить обратный вызов?

Иногда пользователь запускает расширенную техническую операцию, выполнение которой занимает некоторое время. В этих случаях обычно удобно отображать какой-то индикатор выполнения вместе с информацией о том, какая задача выполняется в данный момент. Чтобы избежать тесной связи между пользовательским...

11
в DDD должны ли репозитории предоставлять объект или объект домена?

Насколько я понимаю, в DDD целесообразно использовать шаблон репозитория с совокупным корнем. У меня вопрос, должен ли я возвращать данные как объект или объект домена / DTO? Может быть, какой-то код объяснит мой вопрос дальше: сущность public class Customer { public Guid Id { get; set; } public...

11
Enum с большим количеством логических свойств

В настоящее время я работаю над веб-приложением, в котором нам часто нужно настроить логику сервера на основе страницы, которая будет возвращена пользователю. Каждой странице присваивается четырехбуквенный код страницы, и эти коды страниц в настоящее время перечислены в классе как статические...

11
REST API дизайн для веб-страниц с мастерами

У меня есть веб-страница в формате мастера. Кнопка отправки в API будет на 4-м шаге мастера. Однако я хочу, чтобы введенные данные были сохранены в базе данных перед переходом к следующему шагу в мастере. Я также хочу, чтобы REST API работал для страниц, имеющих одну вкладку. Поэтому я разработал...

11
Что такое «модель приложения»?

В настоящее время я изучаю .NET Core, и в первых документах, в которых впервые был представлен .NET Core, мы видим, что говорят о множестве различных вертикалей. Это может показаться на этой картинке: Во всех вертикалях мы видим среду выполнения, фреймворк, но есть еще и вещь «Модель приложения»....

11
язык с двумя бинарными операторами одинакового приоритета, левоассоциативный и правосторонний

Существуют ли какое - либо программирование (или сценарии) язык (или домен конкретного языка) , имеющие два бинарных операторов oplи oprв том же старшинство с oplтого левоассоциативными и oprбыть правоассоциативным? (Я не могу найти такой пример, но я пытаюсь закодировать некоторый общий...

11
Почему язык должен предпочитать отступ перед явными маркерами для блоков?

Я изучаю Haskell, и я искал инструмент для автоматического отступа. Я не особо выглядел и узнал, что в Haskell (как в Python) отступы означают блок. В результате я предполагаю, что невозможно создать инструмент автоматического форматирования, такой же сильный, как в других языках семейства C, в...

11
Что делают разработчики языка, чтобы решить или доказать, что определенная функция работает правильно?

Я интересуюсь языковым дизайном и в целом могу легко рассуждать о широко известных функциях (например, наследование, полиморфизм, делегаты, лямбды, захваты, сборка мусора, исключения, обобщения, дисперсия, отражение и т. Д.), Их взаимодействиях в конкретный язык, способы их реализации, их...

11
Как лечить валидацию ссылок между агрегатами?

Я немного борюсь со ссылками между агрегатами. Давайте предположим, что агрегат Carимеет ссылку на агрегат Driver. Эта ссылка будет смоделирована с помощью Car.driverId. Теперь моя проблема в том, как далеко я должен пройти, чтобы проверить создание Carагрегата в CarFactory. Должен ли я доверять,...

11
Луковая архитектура против 3-уровневой архитектуры

Я вижу только преимущества для луковой архитектуры по сравнению с 3-уровневой архитектурой, где BL должен вызывать методы для DAL (или интерфейса DAL) для выполнения CRUD. Лук имеет лучшее разделение проблем, тестируемость, ремонтопригодность и чище. Итак, действительно ли луковая архитектура...