Шаблоны .Net против GOF - PullRequest
       23

Шаблоны .Net против GOF

2 голосов
/ 28 августа 2009

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

Это вопрос, касающийся недавней награды обсуждение .

Ответы [ 5 ]

13 голосов
/ 28 августа 2009

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

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

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

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

3 голосов
/ 28 августа 2009

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

2 голосов
/ 28 августа 2009

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

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

1 голос
/ 28 августа 2009

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

0 голосов
/ 28 августа 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...