Шаблоны дизайна ... С чего начать? (Несколько реальных образцов) - PullRequest
9 голосов
/ 21 сентября 2010

Я новичок в концепции шаблонов проектирования.
C # - мой основной язык программирования.(Я использую VB время от времени).Я не хочу писать неаккуратный код, который негибкий, не расширяемый и не глючный.
Всякий раз, когда я вижу шаблон проектирования в действии, я наслаждаюсь логикой и хорошо его понимаю, но, к сожалению, у меня возникают проблемы при реализацииих в моих проектах.

Видите ли, существует множество шаблонов проектирования (я думаю, более 120), и я как бы теряюсь среди них, когда хочу решить, какой из них использовать.
Когда речь идет об их использовании вДействие, я понятия не имею, что выбрать.
Все, что я получаю из уроков, это довольно простые фрагменты кода, которые находятся далеко от рабочей среды .кроме DDD паттерна , который мне удалось хорошо изучить, так как есть как минимум 2 хорошие книги и много ресурсов об этом.

Теперь мой вопрос:
Есть ли где-нибудь, где я могу найти реальные образцы, используя различные шаблоны проектирования?По крайней мере, некоторые «более практичные» образцы.Знаете ли вы где-нибудь, что я могу найти такие книги / образцы / ресурсы для других шаблонов?
Спасибо.

Ответы [ 8 ]

11 голосов
/ 21 сентября 2010

Я бы начал с книги Head First Design Patterns .Это не так сложно, как в некоторых других книгах, и предназначено для обучения, а не для справки.

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

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

Однако имейте в виду, что книги Head First обычно ориентированы на начинающих.Их книги не являются хорошим учебным материалом после того, как вы достигли промежуточного уровня в данной теме.

9 голосов
/ 21 сентября 2010

Я все еще чувствую, что оригинальная бригада из четырех книг Design Patterns - лучший способ узнать это. Основное внимание уделяется не использованию шаблона на определенном языке или конкретном месте, а на самом деле описанию, почему шаблоны существуют.

Как только вы действительно поймете, почему существуют шаблоны (а не только как они работают), использование их в вашем собственном рабочем коде становится естественным.

2 голосов
/ 21 сентября 2010

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

С шаблонами проектирования нужно учиться видеть их преимущества.Конкретная форма рисунка обычно имеет очень определенные причины.Научиться использовать шаблон легко, когда вы выяснили причины, по которым организация кода таким способом выгодна.Задавайте вопросы, выдвигайте гипотезы, экспериментируйте и проверяйте, были ли вы правы.

Для чтения я бы предложил Объяснение шаблонов проектирования , и сайт SourceMaking, предложенный Матье, тоже хорош.

2 голосов
/ 21 сентября 2010

Начните с паттернов GoF. ISBN 978-0201633610 Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения

1 голос
/ 21 сентября 2010

На этом сайте есть хороший список классических шаблонов и других связанных тем с примерами: SourceMaking .

PS: Я всегда беспокоился о правах на этот сайт или нетопубликовать эту информацию.Часть «Рефакторинг» является копией книги Мартина Фаулера, но я так и не нашел явной ссылки.

0 голосов
/ 21 сентября 2010

Специальная книга на C #, которую я нашел полезной:

C # 3.0 Шаблоны проектирования

0 голосов
/ 21 сентября 2010

В Интернете есть бесчисленное множество примеров, все, что вам нужно сделать, это поиск. Что касается книг, я бы порекомендовал «Шаблоны проектирования: элементы многоразового объектно-ориентированного программного обеспечения»

Наслаждайтесь!

0 голосов
/ 21 сентября 2010

Прочитайте шаблоны приложений корпоративной архитектуры Мартина Фаулера:

http://www.amazon.co.uk/Enterprise-Application-Architecture-Addison-Wesley-Signature/dp/0321127420

, а также Архитектура приложений для предприятия:

http://www.amazon.co.uk/Microsoft-NET-Architecting-Applications-PRO-Developer/dp/073562609X

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

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