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

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


8
Когда не следует использовать шаблон внедрения зависимостей?
С тех пор, как я начал изучать (и любить) автоматизированное тестирование, я обнаружил, что использую шаблон внедрения зависимостей почти в каждом проекте. Всегда ли уместно использовать этот шаблон при работе с автоматизированным тестированием? В каких ситуациях вам следует избегать использования инъекций зависимостей?

8
Критика и недостатки внедрения зависимости
Внедрение зависимостей (DI) является хорошо известным и модным паттерном. Большинство инженеров знают его преимущества, такие как: Обеспечение изоляции в модульном тестировании возможно / просто Явно определяющие зависимости класса Содействие хорошему дизайну (например, принцип единой ответственности ) Быстрое включение реализаций (например, DbLoggerвместо ConsoleLogger) Я считаю, что в отрасли существует единодушное мнение, …

9
Действительно ли шаблоны проектирования действительно важны в наши дни?
Я читал «Программисты на работе» и столкнулся с тем фактом, что некоторые из опрошенных в книге специалистов не так увлечены шаблонами проектирования. Я думаю, что для этого есть две основные причины: Шаблоны дизайна заставляют нас думать по-своему. Другими словами, почти невозможно изобрести что-то новое (возможно, лучше). Шаблоны дизайна не вечны. …

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

2
Что такое шаблон «Свободная монада + переводчик»?
Я видел людей, говорящих о Free Monad с Interpreter , особенно в контексте доступа к данным. Что это за образец? Когда я мог бы хотеть использовать это? Как это работает, и как бы я это реализовал? Я понимаю (из сообщений , таких как это ) , что речь идет о …

22
ООП сложно, потому что это не естественно?
Часто можно услышать, что ООП естественно соответствует тому, как люди думают о мире. Но я бы категорически не согласился с этим утверждением: мы (или, по крайней мере, я) концептуализируем мир с точки зрения отношений между вещами, с которыми мы сталкиваемся, но в центре внимания ООП находится разработка отдельных классов и …

2
Существуют ли какие-либо ОО-принципы, которые практически применимы для Javascript?
Javascript - это объектно-ориентированный язык на основе прототипов, но он может быть основан на классах различными способами: Написание функций для самостоятельного использования в качестве классов Используйте изящную систему классов в фреймворке (например, mootools Class.Class ) Создайте его из Coffeescript Сначала я писал код на основе классов в Javascript и очень …

14
Что должно иметь приоритет: YAGNI или Good Design?
В какой момент YAGNI должен иметь преимущество перед хорошими методами кодирования и наоборот? Я работаю над проектом на работе и хочу постепенно внедрить хорошие стандарты кода для моих коллег (в настоящее время их нет, и все просто взломано без всякой рифмы или причины), но после создания серии классов (мы не …

6
Где все шаблоны проектирования функционального программирования? [закрыто]
ОО литература по программированию полна шаблонов проектирования. Большинство книг по объектно-ориентированному программированию посвящают одну или две главы разработке шаблонов, таких как фабрики и декораторы. Итак, каковы эквивалентные шаблоны в функциональных языках и почему никто еще не написал книгу о них? Есть ли что-то особенное в функциональных языках, которое устраняет необходимость …

5
Что такое шаблон проектирования «Все исправить»?
В этой статье Стивена Фиггинса, написанной в 2003 году на linuxdevcenter.com , BitTorrent Брэма Коэна описывается как использование шаблона проектирования «Исправить все». Менее распространенный подход, который затрудняет понимание BitTorrent, но заслуживает изучения, - это использование иденпотентности Коэном. Процесс идемпотентен, если его применять более одного раза, и не вызывает дальнейших изменений. …

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

10
Не-ООП Шаблоны проектирования? [закрыто]
Я только слышал, как термин «шаблон проектирования» используется для объектно-ориентированного кода, и шаблоны GoF включают только шаблоны проектирования ООП, но шаблоны проектирования - это элегантные решения для часто возникающих проблем программирования, верно? Там нет ничего, что говорит, что они должны быть ограничены ООП, не так ли? Я хотел бы увидеть …

12
«Все это карта», я делаю это правильно?
Я смотрел выступление Стюарта Сьерры « Мышление в данных » и использовал одну из идей в качестве принципа дизайна в этой игре, которую я делаю. Разница в том, что он работает в Clojure, а я работаю в JavaScript. Я вижу некоторые основные различия между нашими языками в этом: Clojure - …

7
Насколько важно сделать уровень обслуживания?
Я начал создавать приложение в 3 слоя (DAL, BL, UI) [оно в основном обрабатывает CRM, некоторые отчеты о продажах и инвентарь]. Коллега сказал мне, что я должен перейти к шаблону сервисного уровня, что разработчики пришли к сервисному шаблону из своего опыта, и это лучший подход для разработки большинства приложений. Он …

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