Я просто проходил Вопросы о Шаблонах разработки на Stackoverflow, и все упомянули о GoF- Design Pattern
книга и Head First Design Patterns
книга для изучения их.
Мои вопросы состоят в том, как мы можем учиться where
и when
мы можем подать заявку конкретный Design Pattern
.
Есть ли любые книги или ресурсы онлайн, который передает это знание или что ступает, мы должны следовать в принятии нашего решения о where
и when
мы должны использовать конкретный Design Patterns
?
Общий совет - это рефакторинг для шаблонов, а не кода для шаблонов.
Опыт - лучшее руководство для этого. Но в целом:
Не применяйте шаблон проектирования только ради его применения; убедитесь, что проблема действительно в том, что вы думаете, и что вы понимаете ее на уровне глубины, необходимой для применения шаблона проектирования.
Код для решения проблемы, а не для применения шаблона проектирования.
Хотя они полезны в долгосрочной перспективе, для новичков часто бывает очень опасно читать такие книги, потому что они переходят от пустого ящика для инструментов к одному огромному молотку - а когда все, что у вас есть, это молоток, все выглядит как гвоздь.
Я обнаружил, что FluffyCat.com является очень полезным источником примеров шаблонов проектирования. Он предоставляет примеры реализации как Java , так и PHP для всех шаблонов GoF, а также описание того, как каждый шаблон должен работать.
Первая книга довольно хорошо объясняет, где и когда использовать шаблоны.
Это статья с одним из авторов GoF:
http: //www.artima .com / lejava / article / gammadp.html
Не пытайтесь заставить их
Это как уметь ловить рыбу с помощью правильных инструментов в первый раз ... довольно сложно, если вы никогда раньше не сталкивались с этим. Через некоторое время и лекции это придет само собой.
Если вы сделаете ошибку, реализовав шаблон проектирования, не подходящий для работы, вам будет сложно это сделать. Но вы выучите два из них (тот, который вам следовало взять, и тот, который вы взяли);)
Mike
По моему опыту, хорошего понимания шаблонов проектирования будет достаточно, чтобы включить свет в вашей голове всякий раз, когда вы сталкиваетесь с конкретной проблемой, к которой может быть применим шаблон проектирования. И, как сказал Джон, с опытом вы научитесь применять правильный.
Часто есть более одного шаблона, который будет работать нормально. Но вам не придется слишком много работать, чтобы выкройка соответствовала конкретному решению. Через некоторое время это должно стать «очевидным».
Также бывают случаи, когда вы можете комбинировать шаблоны или слегка адаптировать их к конкретной проблеме. И нередко можно увидеть новый паттерн и подумать: «Ну, я вроде как делал это все время». Паттерны дизайна не были изобретены как таковые, они были идентифицированы и названы. Который'
Рефакторинг: улучшение дизайна существующего кода Мартина Фаулера - действительно хорошая книга. Он показывает существующий стандартный код, а затем показывает, почему и как его реорганизовать. Множество примеров того, как определить код, который следует реорганизовать, и как предпринять небольшие дополнительные шаги для этого.
Я бы рекомендовал sourcemaking.com . В нем представлено общее обсуждение того, как и когда использовать шаблоны дизайна GoF. И как их можно комбинировать для достижения наилучшего результата.
Также ценным ресурсом может стать книга Джошуа Кериевского Рефакторинг шаблонов .
.