Шаблоны проектирования, есть ли какие-либо рекомендуемые шаблоны для юниоров, которые нужно применять, и почему? - PullRequest
1 голос
/ 30 марта 2009

В последние несколько недель я заметил, что программисты с большим опытом не очень часто обсуждают проблемы «кодирования», а обсуждают вопросы проектирования. Мне очень нравится узнавать об этих шаблонах, я знаю концепции ОО-программирования и дизайна, я уже применяю приличное количество этих принципов в своей повседневной работе, я стараюсь, чтобы мои компоненты были модульными, многоразовыми, и у каждого есть свои конкретные, четко определенные обязанности. В последнее время мне посоветовали начать изучать различные шаблоны проектирования (советник рекомендовал код завершен в качестве начала), он упомянул некоторые названия некоторых популярных шаблонов (таких как MVC, SingleTon и другие). ТАК ТАК ГУРУ! как мне начать изучать эти паттерны?

Редактировать:
Из-за подробного объяснения я думаю, что я готов дать Сауа балл

Ответы [ 6 ]

14 голосов
/ 30 марта 2009
  1. узнайте о них (лично мне нравится C2 Wiki , другие могут предложить "Шаблоны проектирования" от Банды четырех)
  2. применить их
  3. грубое их неправильное применение (главный кандидат: Сингелтон)
  4. узнать, почему номер 3 был ошибкой
  5. научиться правильно их применять

Это больше отчет о наблюдении, чем список инструкций; -)

6 голосов
/ 30 марта 2009

" Head-First Design Patterns " может быть интересным способом для начала (также проверьте обсуждение по ссылке).

2 голосов
/ 30 марта 2009

Вы начинаете с чтения книги Шаблоны проектирования

alt text
(источник: codinghorror.com )

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

1 голос
/ 30 марта 2009

Хотя Code Complete - отличная книга (на мой взгляд, она абсолютно обязательна), это не лучшая книга для изучения шаблонов.

Если вы хотите узнать о шаблонах, хорошей книгой будет книга Design Patterns от Gang of Four. Это ссылка на некоторые из наиболее часто используемых шаблонов проектирования.

Что касается шаблонов, которые вы упоминаете: шаблон MVC я воспринимаю скорее как архитектурный шаблон, а не как шаблон проекта, поскольку он влияет на структуру всей системы (архитектуру), а не на более изолированный фрагмент кода. Синглтон (не синглетон) - это легко понять шаблон, хотя он слишком часто используется, и его недостатки часто упускаются из виду, поэтому я бы не рекомендовал начинать с него (или, по крайней мере, читать его, изучать идеи, лежащие в его основе, не просто начинайте применять его везде ради его использования - вам обычно действительно это не нужно).

Трудно рекомендовать шаблон для начала, но я думаю, что Фабричный метод, Команда и Стратегия не слишком сложны для изучения, но я уверен, что другие могут не согласиться.

0 голосов
/ 30 марта 2009

Кроме книг, упомянутых здесь, проверьте этот сайт на предмет теории с хорошими примерами.

0 голосов
/ 30 марта 2009
...