Шаблоны проектирования: используете ли вы их в своих проектах? - PullRequest
1 голос
/ 11 августа 2010

Как вы решаете, какой шаблон дизайна выбрать?

Мой подход к проектам разработки всегда был.

  1. Снять требования бизнеса.
  2. Проектирование базы данных.
  3. Выбор технологии (Это решение почти всегда зависит от клиента.)
  4. Начните разработку прототипа.
  5. Получите одобрение прототипа.(итеративно)
  6. Сборка приложения.
  7. Релиз для тестирования.(итеративно)
  8. Передать на техническое обслуживание.

Я не уверен, где будет полезен шаблон проектирования.

Ответы [ 4 ]

6 голосов
/ 11 августа 2010

Обычно перед созданием прототипа и всегда перед созданием приложения его необходимо разработать.Вот где знание шаблонов проектирования оказывается очень полезным, так как не только помогает вам в дизайне, но и при общении ваших идей с другими разработчиками.Например, когда вы говорите другому разработчику, что конкретный класс - это Фабрика, или другой реализован как Singelton, они сразу же лучше понимают, что и / или как они делают, что делают и как они соответствуют остальной части приложения.1001 *

Я бы очень рекомендовал "Head First Design Patterns" от O'Reilly, чтобы вы начали.

3 голосов
/ 11 августа 2010

Будет полезно на 4-м и 6-м шаге ...: -)

При проектировании прототипов шаблоны могут быть очень полезны. Если существующая архитектура / дизайн недостаточно гибки, то добавление дополнительных функций к существующему прототипу будет очень грязным. Хотя это не значит, что вы всегда должны использовать шаблоны проектирования. Этот принцип, которому они учат, важен, например, принципы открытого закрытия, сокрытие информации и то, как это делать правильно и когда, отдавая предпочтение композиции, а не наследованию и т. Д. Все эти рекомендации были созданы для того, чтобы добавить больше функций в существующее приложение прототип менее болезненный.

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

Надеюсь, это поможет.

2 голосов
/ 11 августа 2010

Шаг 6 (создание приложения) будет хорошей ставкой. Хотя я понимаю комментарий Нила о выборе шаблонов проектирования на этапе проектирования (которого у вас на самом деле нет), я обнаружил, что они часто появляются во время построения, когда вы кодируете / рефакторинге. Конечно, это помогает заранее узнать, что такое шаблоны проектирования, и их трудно узнать без их использования, так что это немного замкнутый круг.

1 голос
/ 12 августа 2010

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

В качестве примера предположим, что вам нужно реализовать коммуникационный уровень, который поддерживает связь с использованием различных протоколов (XML / Http, WebServices и т. Д.).При создании прототипов вы можете легко реализовать слой и заставить ваше приложение взаимодействовать с использованием уровня напрямую.Если вы будете использовать шаблон Factory и простую реализацию любого из протоколов при создании прототипов, то расширение конечного приложения станет простым делом.Это не только экономит общее время разработки, но и обеспечивает более чистый подход к разработке.

...