logo

Класифікація шаблонів проектування

Патерни проектування поділяються на три категорії: Творчий шаблон проектування, структурний шаблон дизайну та шаблон поведінкового дизайну. Вони відрізняються один від одного на основі рівня деталізації, складності та масштабу застосовності до всієї системи, що проектується.

посилальна змінна в java

Існує також два види патернів - ідіоми та архітектурні патерни. Але ми не будемо досліджувати їх у цьому підручнику.

Творчий шаблон дизайну

Як випливає з назви, він забезпечує механізм створення об’єктів або класів, що підвищує гнучкість і можливість повторного використання існуючого коду. Вони зменшують залежність і контролюють, як використання взаємодії з нашим класом, щоб ми не мали справу зі складною конструкцією. Нижче наведено різні шаблони проектування творчих шаблонів проектування.

Абстрактна фабрика- Це дозволяє нам створювати об'єкти без вказівки їх конкретного типу.

Будівельник - Використовується для створення складних об'єктів.

Заводський метод - Це дозволяє нам створювати об’єкт без вказівки точного класу для створення.

Прототип - Він використовується для створення нового об'єкта з існуючого об'єкта.

Сінглтон - Шаблон проектування Singleton забезпечує створення лише одного екземпляра об’єкта.

Шаблони структурного проектування

Шаблони структурного проектування головним чином відповідають за збирання об’єктів і класів у більшу структуру, гарантуючи, що ця структура має бути гнучкою та ефективною. Вони дуже важливі для покращення читабельності та зручності обслуговування коду. Це також гарантує, що функції належним чином розділені та інкапсульовані. Це зменшує мінімальний інтерфейс між взаємозалежними речами.

Адаптер - Він надає нам два несумісних класи для спільної роботи, обертаючи інтерфейс навколо одного з існуючих класів.

Композитний - Він об’єднує групу об’єктів в один об’єкт.

міст - Він роз’єднує абстракцію, щоб два класи могли змінюватися незалежно.

Декоратор - Він динамічно розширює поведінку об’єкта під час виконання.

Фасад - Він пропонує простий інтерфейс для більш складних основних об’єктів.

Легка вага - Це здешевлює складну модель об'єкта.

Проксі - Це зменшує вартість, зменшує складність і надає інтерфейс заповнювача базовому об’єкту для контролю доступу.

Шаблон дизайну поведінки

Патерни дизайну поведінки відповідають за те, як один клас спілкується з іншими.

Ланцюжок відповідальності - Він представляє команду для ланцюжка об’єктів обробки.

Команда - Він генерує об’єкти, які інкапсулюють дії параметрів.

Перекладач - Він реалізує спеціалізовану мову.

Ітератор - Він звертається до всіх елементів об’єкта послідовно, не порушуючи його базове представлення.

Посередник - Він забезпечує слабкий зв’язок між класами, будучи єдиним класом, який має детальні знання про існуючі методи.

пам'ять - Він відновлює об'єкт у попередньому стані.

Спостерігач - Це дозволяє кільком об'єктам-спостерігачам бачити подію.

штат - Це дозволяє об’єкту змінювати свою поведінку, коли змінюється його внутрішній стан.

Стратегія - Він забезпечує вибір однієї із сімейств алгоритмів під час виконання.

Метод шаблону - Це дозволяє підкласам забезпечувати конкретну поведінку. Він також визначає скелет алгоритму як абстрактний клас.

Відвідувач - Він відокремлює алгоритм від структури об’єкта шляхом переміщення ієрархії методів в один об’єкт.

Ми вивчимо кілька важливих шаблонів проектування в майбутньому підручнику.