Я заинтересован в изучении шаблонов проектирования и хотел бы знать, что считается учебником высшего уровня в изучении этого предмета.
Существует ли книга, которая является стандартом де-факто для описания лучших практик, методологий проектирования и другой полезной информации о шаблонах проектирования? Что из этой книги делает ее особенной?
design-patterns
books
mW00t
источник
источник
Ответы:
Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения очень близки к моему определению канонической книги по шаблонам проектирования. Согласно статье в Википедии (выделено мое):
Уорд Каннингем , пионер шаблонов дизайна, ведет онлайн-каталог образцов книг на WikiWikiWeb . И согласно статье в Википедии о шаблоне проектирования (опять же, акцент мой):
В той же статье упоминается немало других книг, упоминаемых в жанре:
Из тех, что я читал книгу Фаулера, она очень влиятельна и хорошо читается. В определенные моменты это немного расплывчато на мой вкус, но в целом это приятная книга. Есть онлайн каталог моделей, включенных в книгу, с минимальным описанием.
Я также просмотрел шаблоны проектирования Head First, и если вы читали любую другую книгу из серии Head First, она того же высокого качества и такая же приятная, как и большинство книг в серии :
Термин «шаблон проектирования» является несколько расплывчатым, поскольку каждое общее повторно используемое решение можно считать шаблоном проектирования. Я всегда замечал тенденцию наносить ярлык на решения, описанные в одной из заметных книг, которые я перечислил выше, а точнее на книги «Банды четырех» и Фаулера. Шаблоны проектирования не следуют уникальному процессу разработки, они являются обычными программными решениями, которые оказываются чрезвычайно многократно используемыми, и их чрезвычайно трудно идентифицировать .
Но если вы сравните онлайн-каталоги для обеих книг с содержанием книг на конкретных языках, вы заметите, что они часто используются в качестве шаблонов. Поэтому я бы сказал, что обе книги очень близки к каноническим ссылкам, причем книга GoF является более важной с исторической точки зрения, хотя обе книги ограничены объектно-ориентированным программированием .
источник
Книга «Банда четырех» - « Шаблоны проектирования: элементы многократно используемого объектно-ориентированного программного обеспечения» , вероятно, ближе всего к промышленному стандарту по шаблонам проектирования.
Для более доступного введения глава First: Design Patterns тоже хороша. Не откладывайте на «модную» обложку, так как она хорошо читается и, возможно, поможет вам понять концепции книги GoF намного проще, если вы сначала прочитаете ее.
источник
источник
Да, есть хорошо известная книга о шаблонах проектирования: Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения, и авторы часто называются «Бандой четырех» (GoF) и упоминаются почти во всех текстах о шаблонах проектирования.
источник
Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения
Из википедии :
источник
Один из лучших сайтов шаблонов дизайна - Ward's Wiki, самая первая вики. Смотрите http://c2.com/cgi/wiki?HistoryOfPatterns для хорошей стартовой страницы в нем.
источник
Я думаю, что рефакторинг к шаблонам может быть полезен просто потому, что он описывает, как определенный дизайн / код может быть реорганизован к шаблонам в книге GoF. Это может помочь преодолеть начальную кривую обучения. О, и это также размышляет над 'Образцом-счастьем' :)
Вы также можете найти первые три тома Pattern-Oriented Software Architecture для чтения.
источник
Шаблоны проектирования
Этот учебный сайт содержит следующие подразделы
Этот сайт также содержит руководство по Anti Patterns, UML и Refactoring.
источник
Оригинальная книга «Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения» является хорошим ресурсом для объектно-ориентированных шаблонов проектирования.
Там существует много других книг. Когда мне нужен краткий справочник и моя книга по GoF недоступна, в Википедии обычно достаточно информации об этих и других шаблонах дизайна.
Это основные, которые я использую. Следует также отметить, что люди начали применять формат шаблона для других вещей, таких как управление проектами.
Если вы хотите узнать об антипаттернах, о которых вам следует знать, есть две книги: «Антипаттерны: рефакторинг программного обеспечения, архитектуры и проекты в кризисе», а также «Рефакторинг: улучшение дизайна существующего кода», в котором есть раздел, посвященный пахнет кодом, другое название для антипаттернов.
источник
«Гибкие принципы, шаблоны и практики в C #» Роберта Мартина. Я думаю, что у него также есть версия книги на Java.
Кроме того, не сам шаблон, а Domain Driven Design имеет несколько отличных концепций, даже если вы не используете полный подход DDD.
источник
Если вас особенно интересуют шаблоны проектирования в C ++, попробуйте Modern C ++ Design от Андрея Александреску.
В этой книге рассказывается о том, как реализовать часто используемые шаблоны, такие как Factory, Singleton и Visitor, в C ++. В нем также обсуждаются очень специфичные для C ++ темы, такие как умные указатели, метапрограммирование шаблонов и дизайн классов на основе политик.
Автор книги - авторитетный эксперт , известный своими
источник