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

31
Вы обычно отправляете объекты или их переменные-члены в функции?

Что является общепринятой практикой между этими двумя случаями: function insertIntoDatabase(Account account, Otherthing thing) { database.insertMethod(account.getId(), thing.getId(), thing.getSomeValue()); } или function insertIntoDatabase(long accountId, long thingId, double someValue) {...

30
Каковы недостатки шаблона ActiveRecord?

Мне любопытно, каковы недостатки использования шаблона ActiveRecord для доступа к данным / бизнес-объектам. Единственное, о чем я могу подумать, - это то, что он нарушает Принцип Единой Ответственности, но модель AR достаточно распространена, и сама эта причина не кажется «достаточно хорошей»,...

30
Это запах кода, чтобы установить флаг в цикле, чтобы использовать его позже?

У меня есть фрагмент кода, в котором я повторяю карту до тех пор, пока определенное условие не станет истинным, а затем позже использую это условие, чтобы выполнить еще кое-что. Пример: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for...

30
Интерфейсы на абстрактном классе

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

30
Существуют ли шаблоны проектирования, которые возможны только в динамически типизированных языках, таких как Python?

Я прочитал соответствующий вопрос. Существуют ли какие-либо шаблоны проектирования, которые не нужны в динамических языках, таких как Python? и запомнил эту цитату на Wikiquote.org Замечательная вещь о динамической типизации - она ​​позволяет вам выражать все, что можно вычислить. А системы типов -...

29
Должен ли я извлечь определенные функции в функцию и почему?

У меня есть большой метод, который выполняет 3 задачи, каждая из которых может быть извлечена в отдельную функцию. Если я сделаю дополнительные функции для каждой из этих задач, улучшит или ухудшит мой код и почему? Очевидно, что в основной функции будет меньше строк кода, но будут дополнительные...

29
Как разделение кода и данных стало практикой?

Пожалуйста, внимательно прочитайте вопрос: он спрашивает, как , а не почему . Недавно я наткнулся на этот ответ , который предлагает использовать базу данных для хранения неизменяемых данных: Похоже, многие из магических чисел, которые вы описываете - особенно если они зависят от части - на самом...

29
Является ли хорошей практикой использование объектов-сущностей в качестве объектов передачи данных?

Мне интересно, потому что, если это так, почему Entity Framework не предлагает логику для создания нового объекта с такими же свойствами для передачи данных между слоями? Я использую объекты сущностей, которые я генерирую с помощью структуры...

29
Новый нуль-условный оператор C # 6.0 противоречит Закону Деметры?

Закон Деметры гласит следующее: Каждый юнит должен иметь только ограниченные знания о других юнитах: только юниты, «тесно» относящиеся к текущему юниту. Каждый юнит должен разговаривать только со своими друзьями; не разговаривай с незнакомцами Поговорите только со своими непосредственными друзьями....

29
Сколько шаблонов проектирования и уровней абстракции необходимо? [закрыто]

Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 2 года назад . Как я могу сказать, что в моем программном...

28
Какие шаблоны дизайна являются наихудшими или наиболее узкими? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Для каждого проекта программирования менеджеры с прошлым опытом...

28
Есть ли шаблон дизайна, который устраняет необходимость проверять флаги?

Я собираюсь сохранить некоторую полезную нагрузку строки в базе данных. У меня есть две глобальные конфигурации: шифрование компрессия Они могут быть включены или отключены с помощью конфигурации таким образом, что либо только один из них включен, либо включены, либо оба отключены. Моя текущая...

28
Является ли когда-нибудь хорошей идеей использовать имя шаблона проектирования в реализующих классах? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Недавно я наткнулся на умеренно большом питон кодовый с большим количеством...

28
Существует ли язык или шаблон проектирования, который позволяет * удалять * поведение объекта или свойства в иерархии классов?

Общеизвестным недостатком традиционных иерархий классов является то, что они плохи, когда дело доходит до моделирования реального мира. В качестве примера пытаемся представить виды животных с помощью классов. При этом есть несколько проблем, но я никогда не видел решения, когда подкласс «теряет»...

27
DDD - обрабатывает ли хранилище агрегатного корня сохранение агрегатов?

Я использую DDD-подобный подход для нового модуля существующего приложения; это не 100% DDD из-за архитектуры, но я пытаюсь использовать некоторые концепции DDD. У меня есть ограниченный контекст (я думаю, что это правильный термин - я все еще изучаю DDD), состоящий из двух сущностей: Conversationи...

27
Альтернативы единому образцу

Я читал разные мнения о единственном образце. Некоторые утверждают, что этого следует избегать любой ценой, а другие могут быть полезны в определенных ситуациях. Одна из ситуаций, в которой я использую синглеты, - это когда мне нужна фабрика (скажем, объект f типа F) для создания объектов...

27
Какой лучший способ построить фабрику, используя NInject?

Я довольно удобен для внедрения зависимостей, используя NInject в MVC3. Работая в приложении MVC3, я разработал собственную фабрику создания контроллеров, используя NInject, поэтому любой созданный контроллер будет иметь зависимости, введенные в него через эту фабрику контроллеров. Сейчас я начинаю...

27
Посредник против Наблюдателя?

Может ли кто-нибудь дать мне канонический ответ о различиях между « Observerа» и «а» Mediatorи краткую информацию о том, когда вы должны использовать один шаблон над другим? Я не уверен в том, какая ситуация...

27
API REST на основе ролей?

Я создаю REST API, для которого несколько пользователей с разными ролями будут иметь доступ к содержащимся в нем ресурсам. Для простоты, давайте возьмем домен "ученик / учитель / класс": GET /students ресурс для доступа. У пользователей могут быть роли, такие как Студент и / или Учитель Студенты...

26
Почему команда разработчиков настаивает на том, что использование одного решения для нескольких проектов в Visual Studio «увеличивает сложность взаимозависимости»?

Я помогаю управлять внешней командой, которая начинает разрабатывать новые версии некоторых существующих продуктов. Исторически сложилось так, что эта команда всегда использовала модель одного проекта в одном решении для примерно 30 модулей в Visual Studio, которые объединяются для создания...