2013-03-01 5 views
-3

Я много упоминался в шаблоне дизайна фасада в Интернете. Буквально ясно представить себе, что такое фасад-фасад. Однако, когда дело доходит до реализации, я не могу отличить от шаблона делегата. Может ли кто-нибудь объяснить реализацию шаблона фасада и как он отличается от шаблона делегата в Java?Шаблон фасада против шаблона делегата; В Java?

+0

Http: //en.wikipedia .org/wiki/Facade_pattern # Пример –

+0

попробуйте здесь: http://sourcemaking.com/design_patterns/facade/java/1 – konradstrack

+0

http://zuta-developer.blogspot.com/2012/06/facade-pattern.html# .UTCPXOu1ejU –

ответ

2

Фасад рисунка обеспечивает слой абстракции, который скрывает все детали реализации. Делегирование - это способность иметь другую организацию, выполняющую вашу работу, которую вы делегируете.

В Java вы можете создать класс Facade, а внутри использовать коллекцию классов с реальным кодом. Для делегирования вы получаете, например, в конструкторе ссылку для другого класса, тогда вы вызываете некоторый предопределенный API во втором классе, поскольку делегированный, вероятно, реализует какой-то интерфейс.

0

Служебный фасад обычно является точкой входа для клиентов. Он обеспечивает крупнозернистый API с управляемым приводом. Сервис-фасад запускает транзакцию, при необходимости преобразует из/в DTO и может вызывать мелкозернистые службы и DAO.

Для веб-приложения есть также шаблон шлюза (stateful EJB с расширенным контекстом постоянства), который можно использовать вместо Service Facade в некоторых ситуациях. (JPA Сущности не отделиться.)

Для получения дополнительной информации посмотрите на книгу "Real World Patterns Java EE - Переосмысление Best Practices", Адам Бень: http://realworldpatterns.com/

Смежные вопросы