Как изучить шаблоны разработки? [закрытый]

352
задан cristid9 8 May 2017 в 09:02
поделиться

18 ответов

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

А большой ресурс Данные & Объектная страница Factory . Они пробегаются через шаблоны и дают Вам обоим примеры концептуального и реального мира. Их ссылочный материал является большим, также.

202
ответ дан Joseph Ferris 23 November 2019 в 00:24
поделиться

Я думаю, что необходимо исследовать некоторые проблемы, с которыми Вы встретились как разработчик, где Вы вытащили волосы после того, как необходимо было пересмотреть код в 10-й раз из-за еще одного конструктивного изменения. У Вас, вероятно, есть список проектов, где Вы чувствовали, что было много из, переделывают и боль.

Из того списка можно получить сценарии, которые Шаблоны разработки намереваются решить. Было время, где необходимо было выполнить тот же ряд действий с различными наборами данных? Необходимо ли будет быть в состоянии к будущей возможности к приложению, но захотеть ли постараться не переделывать всю логику для существующих классов? Запустите с тех сценариев и возвратитесь к каталогу шаблонов и их соответствующих проблем, которые они, как предполагается, решают. Вы, вероятно, будете видеть некоторые соответствия между GoF и Вашей библиотекой проектов.

1
ответ дан David Robbins 23 November 2019 в 00:24
поделиться

Я думал бы, что также трудно изучить шаблоны разработки. Необходимо знать больше об ООП и некотором опыте с носителем к большой разработке приложений. Для меня я учусь как группа разработчиков для создания обсуждения. Мы следуем Самоучитель А По Шаблонам разработки , что они завершили исследование шаблонов. Существуют C#, и разработчики JavaScript объединяются. Это - необычная вещь для меня, коды записи разработчика C# в JavaScript, и разработчик JavaScript делают то же самое для кодов C#. После того, как я оставляю встречу мной также исследование и читаю несколько книг дома для рассмотрения. Лучший способ понять больше и помнить в моем уме состоит в том, чтобы сделать блоггинг с примерами и в C# и в JavaScript в здесь http://tech.wowkhmer.com/category/Design-Patterns.aspx .

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

, например:

Метод фабрики:

мир Read: Я просто даю $ за 5 денег, 10$ или 20$, и он произведет пиццу назад, ничего не зная о том, как он производит, я просто добираюсь, маленькая, средняя или большая пицца зависят от денежного входа так, чтобы я мог съесть или сделать что.

Программирование: клиент просто передает значение параметра 5$, 10$ или 20$ к методу фабрики, и это возвратит объект Пиццы назад. Таким образом, клиент может использовать тот объект, не зная, как он обрабатывает.

я не уверен, что это может помочь Вам. Это зависит на уровне знаний людей, участвуют во встрече.

1
ответ дан Vorleak Chy 23 November 2019 в 00:24
поделиться

Понятие, которые читают шаблоны разработки, практика, кодирующая их, действительно не собирается помогать IMO. Когда Вы читаете, эти книги 1. Ищут основную проблему, которую конкретный шаблон разработки решает, начиная с Шаблонов Creational, Ваш лучший выбор. 2. Я уверен, что Вы записали код в прошлом, проанализируйте при направлении с теми же проблемами, что шаблоны разработки стремятся предоставлять решение. 3. Пробуют к фактору модернизации/ре, кодируют или возможно начинаются новые.

О ресурсах можно проверить эти

  1. www.dofactory.com
  2. Шаблоны разработки: Элементы Допускающего повторное использование Объектно-ориентированного программного обеспечения (Addison-Wesley Professional Computing Series) Erich Gamma, Richard Helm, Ralph Johnson и John M. Vlissides
  3. Шаблоны Архитектуры приложений для предприятия Martin Fowler

1 являются быстрым запуском, 2 будет подробно исследование.. 3 объяснит или должен заставить Вас думать, что Вы изучили в 2, вписывается в программное обеспечение предприятия.

Мои 2 цента...

2
ответ дан Perpetualcoder 23 November 2019 в 00:24
поделиться

Путем я узнал, что шаблоны разработки путем записи большого количества действительно ужасного программного обеспечения. Когда я был приблизительно 12, я понятия не имею, что было хорошо или плохо. Я просто записал груды запутанного кода. За следующие 10 лет или так, я научился на своих ошибках. Я обнаружил то, что работало и что не сделало. Я независимо изобрел большинство шаблонов общего умысла, поэтому когда я сначала слышал, каковы шаблоны разработки были, я был очень счастлив узнать о них, тогда очень разочарованный, что это был просто набор названий вещей, которые я уже знал интуитивно. (что шутка об обучении себе C++ за 10 лет не является на самом деле шуткой)

Мораль истории: запишите много кода. Поскольку другие сказали, практика, практика, практика. Я думаю, пока Вы не понимаете, почему Ваш текущий дизайн плох, и пойдите, ища лучший путь, у Вас не будет хорошей идеи того, где применить различные шаблоны разработки. Книги шаблона разработки должны предоставлять Вам усовершенствованное решение и общую терминологию для обсуждения его с другими разработчиками, не вставкой - в решении проблемы, которую Вы не понимаете.

2
ответ дан rmeador 23 November 2019 в 00:24
поделиться

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

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

2
ответ дан Bill K 23 November 2019 в 00:24
поделиться

Я не знаю о лучшей книге, но пуристы могли бы сказать Шаблоны разработки: Элементы Reusable Object-Oriented Software

До моего любимого, мне нравится Главные Первые Шаблоны разработки опубликованный O'Reilly. Это записано диалоговой речью, которая обращается ко мне. Когда я считал его, я рассмотрел свой исходный код одновременно, чтобы видеть, относилось ли это к тому, что я читал. Если это сделало, я осуществил рефакторинг. Это - то, как я изучил Цепочку Ответственности.

Практика - Практика - Практика.

2
ответ дан Jason Slocomb 23 November 2019 в 00:24
поделиться

Мое предложение было бы комбинацией реализации несколько из них и проанализировало бы некоторые реализации их. Например, в.Net, существует использование шаблонов "адаптер", если Вы смотрите на Адаптеры Данных, а также немногих других, если Вы делаете немного рытья в платформу.

2
ответ дан JB King 23 November 2019 в 00:24
поделиться

Я имею вывод несколько дискуссионных групп шаблонов разработки ( наш сайт ) и прочитал 5 или 6 книг шаблонов. Я рекомендую запуститься с Главной Первой книги Шаблонов разработки и посетить или запустить дискуссионную группу. Главная Первая книга могла бы посмотреть немного Hasboro сначала, но большинство людей как он после чтения главы или два.

Использование выдающийся ресурс - Joshua Kereivisky Самоучитель по Шаблонам разработки для упорядочивания шаблона и помочь Вашей дискуссионной группе. Из опыта одно изменение, которое я предлагаю упорядочиванию, должно поместить Стратегию сначала. Большинство сегодняшних разработчиков испытало некоторое хорошее или плохое воплощение Фабрики, таким образом запущение с Фабрики может привести к большому разговору и беспорядку о шаблоне. Это имеет тенденцию снимать фокус, как изучить и изучить шаблоны, который довольно важен на той первой встрече.

4
ответ дан JB Brown 23 November 2019 в 00:24
поделиться

Вы прочитали "Шаблоны разработки, Объясненные" Allan Shalloway.

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

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

, Например, в Стратегической модели, общие вещи выражаются как контекст стратегии, и переменные части выражаются как конкретные стратегии.

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

6
ответ дан Phillip Ngan 23 November 2019 в 00:24
поделиться

Партия хороших примеров была дана. Я хотел бы добавить тот:

Неправильно употребляют их. Вы не должны делать этого намеренно, это произойдет, когда Вы попытаетесь применить их в своем начальном Соответствии шаблона разработки. В течение того времени каждая проблема, которую Вы будете видеть, будет казаться, будет соответствовать точно одному шаблону разработки. Часто проблемы, все, кажется, соответствуют тому же шаблону разработки по некоторым причинам (Singelton является основным кандидатом на это).

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

Предоставленный, это не действительно ответ do-that-and-you'll-learn-it-in-21-days, но по моему опыту это наиболее вероятно дать Вам хорошее понимание вопроса.

8
ответ дан Joachim Sauer 23 November 2019 в 00:24
поделиться

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

Кроме GOF и POSA заказывает, я действительно не считал никого так, что я не могу дать Вам другие рекомендации. Действительно у Вас просто должно быть понимание проблемных доменов, и я думаю, что многие менее опытные разработчики не могут быть в состоянии ценить преимущества шаблонов. Это является не небольшим против них. Намного легче охватить, понять и ценить хорошие решения, когда нужно бороться с плохими альтернативами сначала.

Удача

8
ответ дан Tim 23 November 2019 в 00:24
поделиться

Практика практики практики. Я думаю, что 4 - 5 книг являются даже чрезмерным осуществлением чтения без некоторого хорошего объема осуществления. Лучший способ сделать это, я верю, должно запуститься рефакторинг Ваших текущих проектов использование шаблонов. Или если у Вас нет проектов, Вы активно продолжаете работать тогда , просто делают это Ваш собственный путь и затем пытаются осуществить рефакторинг к шаблонам .

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

25
ответ дан utku_karatas 23 November 2019 в 00:24
поделиться

Практика, практика, практика.

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

Шаблоны разработки лучше всего распознаны как высокоуровневая проблема; тот, который только релевантен, если у Вас есть опыт, необходимый для распознавания их как полезных. Хорошо, что Вы распознаете, что они полезны, но если Вы не видели ситуаций, где они применялись бы или применялись, почти невозможно понять их истинное значение.

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

Это - действительно то же как кодирование; K& R может быть "библия" для C, но чтение его полный несколько раз просто не дает один практический опыт; нет никакой замены для опыта.

35
ответ дан Paul Sonier 23 November 2019 в 00:24
поделиться

Я прочитал три книги и все еще не понял шаблоны очень хорошо, пока я не читал Главные Первые Шаблоны разработки OReilly. Эта книга открыла мои глаза и действительно объяснила хорошо.

alt text

207
ответ дан shareef 23 November 2019 в 00:24
поделиться

Для книг я рекомендовал бы Шаблоны разработки, Объясненные , и Главные Первые Шаблоны разработки . Для реального изучения этих шаблонов необходимо посмотреть существующий код. Ищите, какие шаблоны Вы уже используете. Взгляд запахи кода и какие шаблоны могли бы решить их.

5
ответ дан David Nehme 23 November 2019 в 00:24
поделиться

Для новичка подойдет Head First Design patterns, как только мы познакомимся со всеми паттернами, затем попытаемся визуализировать объекты реального времени в этих паттернах.

Книга поможет вам понять основные концепции, но пока вы не внедрите их в реальном мире, вы не сможете стать МАСТЕРОМ ПАТТЕРНОВ ДИЗАЙНА

1
ответ дан 23 November 2019 в 00:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: