Сочетание шаблонов дизайна фабрики с шаблоном прокси и когда? - PullRequest
0 голосов
/ 10 апреля 2020

Что касается шаблонов проектирования GoF, возможно ли объединить шаблоны Factory и Proxy и если да, то где можно использовать этот дизайн?

1 Ответ

0 голосов
/ 11 апреля 2020

Я думаю, что любые шаблоны могут быть объединены. Это зависит только от необходимости.
Некоторые из примеров использования прокси:

1. Control access
    Ex: Read Account Details but not modify.
2. To do Lazy instantiation of objects whose construction requires costly resources.

Просто для примера соединения фабрики и прокси я создам случайную проблему первый случай использования.

Представьте себе банк с разными сотрудниками.
Менеджер, Бухгалтер, Кассир и т. Д.
У каждого клиента есть учетная запись, которая может выполнять такие операции, как readAcountDetails (), addMoney (), removeMoney (), updateAccountDetails () и т. д.
В зависимости от данной роли каждый сотрудник банка имеет права на выполнение только определенных c операций.
Эту проблему с правами доступа можно решить с помощью шаблона прокси ( Один из подходов) для другой операции доступ запрещен.
AccountantProxy: readAcountDetails (), для другой операции доступ запрещен.

Так что теперь у нас может быть фабрика, которая возвращает прокси-классы для различных типов ролей. в банке

...