Java Pattern: опис, можливості, приклади

Проксі шаблон

Метою шаблону проксі є «Надання сурогату або заповнювача для іншого об’єкта з метою контролю доступу до нього». Саме визначення дуже ясно, і JP проксі використовується коли потрібно забезпечити контрольований доступ до функціональності.

Припустимо, є клас, який може виконувати деякі команди в системі, але якщо треба передати цю програму клієнтського додатка, у неї можуть бути серйозні проблеми. Клієнтська програма може видати команду на видалення деяких системних файлів або змінити деякі параметри, які не потрібні.

Шаблон проектування Flyweight використовується коли потрібно створити багато об’єктів класу. Оскільки кожен об’єкт споживає простір пам’яті, що може мати вирішальне значення для пристроїв з невеликим об’ємом пам’яті, таких як мобільні пристрої або вбудовані системи, можна застосовувати JP з спрощеним дизайном, щоб зменшити навантаження на пам’ять шляхом спільного використання об’єктів. Реалізація пулу рядків в Java є одним з кращих прикладів реалізації шаблонів Flyweight.

JP Фасаду (Facade) використовується, щоб допомогти клієнтським програмам легко взаємодіяти з системою. Припустимо, є додаток з набором інтерфейсів для використання бази даних MySql/Oracle з метою створення звітів різних типів, таких як звіт HTML, звіт PDF і інші. Таким чином, у користувача буде інший набір інтерфейсів для роботи з різними типами бази даних.

Клієнтський додаток може використовувати ці інтерфейси для отримання необхідного з’єднання з базою даних і створення звітів. Але коли складність зростає або імена поведінки інтерфейсу збивають з пантелику, клієнтського додатку буде важко керувати ним. Таким чином, застосовують шаблон Facade і надають інтерфейс-оболонку поверх існуючого, щоб допомогти клієнтського додатку.