Skip to content

mciuchitu/tmps-2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

tmps-2

Лабораторная работа #2

Декоратор

Декоратор — это структурный паттерн проектирования, который позволяет динамически добавлять объектам новую функциональность, оборачивая их в полезные «обёртки».

В качестве базового компонента используется Coffee, а в качестве обёрток Caramel, WhippedCream и Milk. Декоратор позволяет использовать любые из обёрток в любых количестве и порядке применения.

Заместитель

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

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

Команда

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

В качестве команд выступают заказы (Order) на различные напитки. Кофемашина не знает, с каким конкретным заказом она работает, но ей всё равно, так как все заказы имплементируют один интерфейс заказов.

Фасад

Фасад — это структурный паттерн проектирования, который предоставляет простой интерфейс к сложной системе классов, библиотеке или фреймворку.

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

Мост

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

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

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages