Реальная, не программируемая «реализация» шаблонов проектирования - PullRequest
1 голос
/ 19 февраля 2011

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

Следует ли считать банкомат фасадом для банка или, скорее, адаптером? Является ли член парламента (в идеальном мире) примером делегата или доверенным лицом? Является ли бюрократия примером цепи ответственности? Является ли фондовый рынок примером модели наблюдателя? Каким будет пример паттерна стратегии?

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

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

Ответы [ 2 ]

2 голосов
/ 21 февраля 2011

Интересный вопрос. Вот что я мог придумать:

Метод шаблона: некоторые ритуалы, которым мы следуем, будут примером шаблона.

Фабрика: это относится к любому производственному рукаву. Он производит товары и заключает в себе логику производства.

Цепочка ответственности: почти все, что требует одобрения в офисе, подпадает под COR.

Стратегия. Правила бронирования авиабилетов - это реальный пример стратегии. Это меняется от сезона к сезону.

Синглтон: Я как личность только один во вселенной :-). Так что я бы синглтон.

2 голосов
/ 19 февраля 2011

Шаблоны проектирования в программном обеспечении берут свое начало в архитектуре;в частности, книга « A Pattern Language » Кристофер Александр .Хотя он не является прямым аналогом шаблонов, описанных в книге GOF «Шаблоны проектирования», Александр описывает шаблоны, специфичные для реального дизайна, в том же духе.

...