This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* ПАТТЕРН ЦЕПОЧКА ОБЯЗАННОСТЕЙ (Chain of responsibility) | |
* | |
* Паттерн ЦЕПОЧКА ОБЯЗАННОСТЕЙ - это поведенческий паттерн проектирования, который позволяет передавать запросы | |
* последовательно по цепочке обработчиков. Каждый последующий обработчик решает, может ли он обработать запрос сам | |
* и стоит ли передавать запрос дальше по цепи. | |
* | |
* Пример: у вас есть три счета (A, B, C) с разными суммами и разным приоритетом использования. Сначала проверяется A, | |
* если на нем достаточно денег для покупки, то цепочка прерывается. Иначе проверяется B, затем C. Цепь будет |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* ПАТТЕРН ХРАНИТЕЛЬ (memento) | |
* | |
* Паттерн ХРАНИТЕЛЬ (memento) - Паттерн Хранитель используется для реализации возврата к одному из предыдущих | |
* состояний (например, если пользователь выполнил команду «Отменить»). | |
* Хранитель – это объект, в котором сохраняется внутреннее состояния другого объекта – хозяина хранителя. Для работы | |
* механизма отката нужно, чтобы хозяин предоставил хранитель, когда возникнет необходимость записать контрольную точку | |
* состояния хозяина. Только хозяину разрешено помещать в хранитель информацию и извлекать ее оттуда, для других | |
* объектов хранитель непрозрачен. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* ПАТТЕРН ПРИСПОСОБЛЕНЕЦ/ЛЕГКОВЕС (Flyweight) | |
* | |
* Паттерн ПРИСПОСОБЛЕНЕЦ/ЛЕГКОВЕС - структурный шаблон проектирования, при котором объект, представляющий себя как | |
* уникальный экземпляр в разных местах программы, по факту не является таковым. | |
* Данный паттерн проектирования позволяет вместить большее количество объектов в отведённую оперативную память. | |
* Легковес экономит память, разделяя общее состояние объектов между собой, вместо хранения одинаковых данных в | |
* каждом объекте. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* | |
* ПАТТЕРН ПОСРЕДНИК (mediator) | |
* | |
* Паттерн ПОСРЕДНИК (mediator) - это поведенческий паттерн проектирования, который позволяет уменьшить связанность | |
* множества классов между собой, благодаря перемещению этих связей в один класс-посредник. | |
* Паттерн Посредник используется для централизации сложных взаимодействий и управляющих операций между объектами. | |
* Один из модулей медиатора изменяет состояние -> оповещает об этом медиатор -> медиатор оповещает об этом другие | |
* модули, которым положено знать о случившемся. | |
* Довольно популярна реализация Посредника при помощи Наблюдателя. При этом объект посредника будет выступать |