Метафора

 

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

 

Читать далее

Метафора

 

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

 

Читать далее

Метафора

 

Для примера можно рассмотреть управление солдатами в строю. Существует строевой устав, который определяет, как управлять строем и согласно этого устава абсолютно не важно кому отдается приказ (например, «шагом марш») одному солдату или целому взводу. Соответственно в устав (если его в чистом виде считать паттерном «компоновщик») нельзя включить команду, которую может исполнить только один солдат, но не может исполнить группа, или наоборот.

 

Читать далее

Назначение

 

Шаблонный метод определяет основу алгоритма (каркас) и позволяет подклассам переопределять некоторые шаги алгоритма, не изменяя его структуры в целом. Таким образом, контракт между базовым классом и его наследниками определяется более чётко, чем это делается простым наследованием. За счёт определения каркаса алгоритма в базовом классе, мы избегаем лишнего дублирования кода.

 

Читать далее

Метафора

 

Стратегия используется для выбора различных путей достижения результата. Допустим, нам понадобилось сходить в магазин за продуктами, какой выбор у нас есть? Можно заказать продукты на дом, можно сходить самому, можно отправить жену :). В любом из возможных случаев вы получаете результат – продукты из магазина.

 

Читать далее

Метафора

 

Примером из жизни может служить способ сокращения набором слов определенных действий, например, говоря официанту в сабвее: «Серый, курица терияки, со всеми овощами, 1000 островов и чесночный», Вы тем самым даёте ему на интерпретацию некоторую команду, а он уже пытается её преобразовать в последовательность выполнения команд: достать и разрезать серый хлеб, положить куриную начинку со всеми овощами и залить это все двумя соусами, подать Вам.

 

Читать далее

Метафора

 

Представим ситуацию, когда вам требуется работать на разных автомобилях, однако садясь в новый автомобиль вам уже желательно знать, как им управлять. Таким образом, Вы сталкиваетесь с паттерном «мост». С одной стороны, вы имеете множество различных автомобилей (разные модели и марки), но среди них есть общая абстракция (интерфейс) в виде руля, педалей, коробки передач и так далее. Таким образом, мы задаем как-бы правила изготовления автомобилей, по которым мы можем создавать любые их виды, но за счет сохранения общих правил взаимодействия с ними, мы можем одинаково управлять каждым из них. «Мостом» в данном случае является пара двух «объектов»: конкретного автомобиля и правил взаимодействия с этим (и любым другим) автомобилем.

 

Читать далее

Метафора

 

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

 

Читать далее

Метафора

 

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

 

Читать далее

Метафора

 

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

 

Читать далее