Сколько шаблонов дизайна вы можете назвать, которые не являются шаблонами GOF?Сколько шаблонов без GOF вы можете назвать?
У вас есть веб-ссылка, которая содержит эти имена?
Сколько шаблонов дизайна вы можете назвать, которые не являются шаблонами GOF?Сколько шаблонов без GOF вы можете назвать?
У вас есть веб-ссылка, которая содержит эти имена?
Wikipedia page всегда хорошее место для начала. Столбец «In Design Patterns» в связанной таблице сообщает вам, какие шаблоны были в книге GOF, а какие нет.
Список Википедии, обозначенный Брайаном, действительно довольно всеобъемлющий. Я с удивлением обнаружил, что ...
Ну, вы знаете, Wikipedia * is * editable ... –
Borg довольно специфичен для Python. Самые сильные образцы дизайна являются общими для разных языков. – PaulMcG
@Brian, правильно! Фактически я иногда вношу свой вклад в WP и могу просто сделать это повторно. этот шаблон (мне просто нужно будет внимательно прочитать текущий список, так что многие образцы отображаются под разными именами и/или с такими тонкими отличиями ... – mjv
Для чего стоит Design Patterns on Wikipedia имеет список шаблонов дизайна, включая информацию о том, появляются ли эти шаблоны в книге GOF.
В верхней части моей головы GOF исключает целую категорию шаблонов проектирования, связанных с параллелизмом, включая двойную проверку блокировки, блокировку спина и почти все, что касается pi calculus.
Кроме того, некоторые модели, кажется, следует естественно от других парадигм программирования:
Есть много моделей в функциональном программировании, которые не появляются в книге GOF. Часто используемый шаблон проектирования включает использование переменных аккумулятора для преобразования нерекурсивных функций в хвостовые рекурсивные функции. Кроме того, концепция монады или того, для чего она использовалась, была бы полностью чужда оригинальным разработчикам. Неизменяемые объекты полностью отсутствуют в книге GOF.
Масштабная система Lisp, вероятно, может считаться шаблоном проектирования или показательным.
Я никогда не использовал язык программирования на основе стека, но я уверен, что у программистов Forth есть много трюков, чтобы заставить их алгоритмы корректно отображать стек.
В абстрактном виде вы можете рассматривать отношения между таблицами в схеме реляционной базы данных как шаблон дизайна: один-ко-многим, много-к-одному, много-ко-многим, к одному. Более того, существуют предсказуемые способы моделирования иерархических данных, и вот довольно простой способ для печенья - modeling tagged unions in SQL.
т.д.
Есть только несколько других Öö дизайн узоры. один - нулевой объект (я забыл другое). они плюс 23 gof являются ортогональными и полными. там действительно больше нет. все остальное - это всего лишь комбинация этих 25 или около того.
Поиск «репозитория шаблонов», и вы найдете много ссылок. – TrueWill