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

Шаблон проектирования - это общее многократно используемое решение часто встречающейся проблемы в разработке программного обеспечения.

2
Как вы управляете конфигурацией с внедрением зависимостей?
Я большой поклонник DI / IOC. Он отлично подходит для обработки / абстрагирования жестких зависимостей и делает жизнь немного проще. Тем не менее, у меня есть небольшой недостаток, который я не знаю, как решить. Основная идея DI / IOC заключается в том, что при создании экземпляра объекта все его зависимости …

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


3
Вопрос новичка о шаблоне дизайна Decorator
Я читал статью по программированию, в которой упоминался шаблон Decorator. Я программировал некоторое время, но без какого-либо формального образования или обучения, но я пытаюсь узнать о стандартных шаблонах и тому подобном. Поэтому я посмотрел Декоратор и нашел статью в Википедии . Теперь я понимаю концепцию шаблона Decorator, но меня немного …

5
Почему MVC более популярен, чем PAC? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я просто наткнулся на вопрос в SO о PAC и заинтересовался моделью. Мне интересно, …

1
Что заправляет насос? Иногда называется начальным чтением
Меня учили этому выражению и образцу еще в тот день. Конечно, название происходит от старых насосов, которые нужно было заполнить водой, прежде чем они могли качать воду, но кого это волнует? Мы говорим о коде здесь. Хотелось бы получить несколько действительно хороших примеров и объяснение того, что делает шаблон. Как …

2
Принцип наименьшего удивления (POLA) и интерфейсы
Добрую четверть века назад, когда я изучал C ++, меня учили, что интерфейсы должны быть прощающими и, насколько это возможно, не заботиться о порядке вызова методов, поскольку потребитель может не иметь доступа к источнику или документации вместо это. Однако всякий раз, когда я наставлял младших программистов и старших разработчиков, меня …

4
Применим ли принцип единой ответственности к функциям?
По словам Роберта К. Мартина, SRP заявляет, что: Никогда не должно быть более одной причины для изменения класса . Однако в своей книге « Чистый код» , глава 3: Функции, он показывает следующий блок кода: public Money calculatePay(Employee e) throws InvalidEmployeeType { switch (e.type) { case COMMISSIONED: return calculateCommissionedPay(e); case …

5
Создают ли перечисления хрупкие интерфейсы?
Рассмотрим пример ниже. Любое изменение в перечислении ColorChoice влияет на все подклассы IWindowColor. Имеют ли перечисления тенденцию вызывать хрупкие интерфейсы? Есть ли что-то лучше, чем enum для большей полиморфной гибкости? enum class ColorChoice { Blue = 0, Red = 1 }; class IWindowColor { public: ColorChoice getColor() const=0; void setColor( …

7
Что если я не буду использовать Шаблоны разработки программного обеспечения? [закрыто]
Закрыто . Этот вопрос должен быть более сфокусированным . В настоящее время не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы он был сосредоточен только на одной проблеме, отредактировав этот пост . Закрыто 6 лет назад . С какими проблемами я могу столкнуться, если не буду использовать Шаблоны разработки …

8
Стоит ли внедрение зависимостей за пределы UnitTesting?
Учитывая конструктор, который никогда не будет использовать какие-либо разные реализации нескольких объектов, которые он инициализирует, все еще практично использовать DI? В конце концов, мы все еще можем захотеть провести юнит тест. Рассматриваемый класс инициализирует несколько других классов в своем конструкторе, и классы, которые он использует, довольно специфичны. Он никогда не …

3
Государственный паттерн нарушает принцип подстановки Лискова?
Это изображение взято из применения доменного дизайна и шаблонов: с примерами в C # и .NET Это диаграмма классов для шаблона состояний, в котором в SalesOrderтечение срока службы может быть несколько состояний. Между разными состояниями разрешены только определенные переходы. Теперь OrderStateкласс является abstractклассом, и все его методы наследуются его подклассам. …

1
Применяется ли принцип подстановки Лискова к классам, реализующим интерфейс?
LSP утверждает, что классы должны быть заменяемыми для их базовых классов, а это означает, что производные и базовые классы должны быть семантически эквивалентными. Но применяется ли LSP к классам, реализующим интерфейс? Другими словами, если метод интерфейса, реализуемый классом, семантически отличается от того, что пользователь ожидает от него, будет ли это …

2
Отношения между хранилищем и единицей работы
Я собираюсь реализовать репозиторий, и я хотел бы использовать шаблон UOW, так как пользователь репозитория может выполнять несколько операций, и я хочу зафиксировать их сразу. Прочитав несколько статей по этому вопросу, я все еще не понимаю, как соотнести эти два элемента, в зависимости от статьи, которая делается другим способом. Иногда …

6
Стратегии избегания SQL в ваших контроллерах ... или сколько методов мне следует использовать в моих моделях?
Таким образом, ситуация, с которой я сталкиваюсь достаточно часто, - это ситуация, когда мои модели начинают либо: Вырасти в монстров с тоннами и тоннами методов ИЛИ Позволяют вам передавать кусочки SQL им, чтобы они были достаточно гибкими и не требовали миллиона различных методов. Например, скажем, у нас есть модель «виджет». …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.