2009-08-27 2 views
2

Поскольку книга GOF была собрана задолго до появления .Net, существуют ли какие-либо конкретные шаблоны, описанные в GOF, которые не подходят для .Net? И если да, то по какой причине?.Net-шаблоны против GOF

Это вопрос, связанный с недавней щедростью discussion.

+5

Книга GoF была написана задолго до того, как была выпущена Java. Книга GoF была впервые опубликована в октябре 1994 года (wow - всего 15 лет назад, и это уже классика), а Java впервые была выпущена в 1995 году. –

ответ

13

Идея с книгой GoF не должна быть специфичной для языка, хотя они предоставили образцы, чтобы лучше объяснить проекты.

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

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

Есть ли какие-либо «не используемые» из-за языка? Нет. Модели будут по-прежнему полезны, даже если некоторые из них уже реализованы для вас.

0

Номер Даже Observer, являющийся гражданином первого класса в .NET (событиях), использует его, как показывает недавняя Rx Framework.

1

Шаблоны GoF обычно применяются, в общем, к объектно-ориентированным языкам и, более конкретно, к строго типизированным языкам или к языкам с более строгими ограничениями.

3

В книге C# 3.0 Design Patterns обсуждаются исходные шаблоны проектирования в контексте .NET. Это не так хорошо, как оригинальная книга ИМО, но все же стоит прочитать.

2

Ну, некоторые из них имеют ограниченное использование, потому что они уже реализованы в рамках.

Например, коллекции в .NET уже поддерживают итерацию из коробки, поэтому в большинстве случаев вам не нужно будет использовать шаблон Iterator. Другой пример - это события, которые можно использовать вместо реализации шаблона Observer.

Смежные вопросы