제리의 배움 기록
[디자인패턴] J2EE(JAVA EE)에 사용된 주요 디자인 패턴 본문
Business Delegate Pattern
목적
Presentation(view, client) 계층과 비즈니스 계층의 결합을 줄이기 위한 패턴
- 클라이언트는 비즈니스 구현을 직접 참조하지 않고 주입받은 delegate를 통해 비즈니스를 호출
- 비즈니스 서비스를 인터페이스로 추상화하여 조건에 따라 다른 구현체를 생성
아래와 같은 구조에서는 Client가 특정 비즈니스 구현체를 직접 참조합니다.
business delegate pattern을 적용하면 delegate를 통해서 비즈니스계층에 접근하므로 결합도가 낮아지고 자연스럽게 관심사를 분리할 수 있게 됩니다.
Session Facade Pattern
목적
클라이언트가 비즈니스 계층의 컴포넌트들을 직접 참조하고 조작하는 대신 앞단에 단일 창구 역할을 하는 레이어를 통해 접근함으로써
1)클라이언트로부터 비즈니스 계층을 캡슐화하고 2)접근 통제 및 제한된 방법으로만 비즈니스 계층을 참조할 수 있습니다.
Data Access Object Pattern
목적
애플리케이션에서 사용하는 persistent storage(database 같은)에 접근하고 데이터를 조작하는 역할을 추상화하여
별도의 독립적인 책임을 가진 객체로 분리하는 패턴. 데이터 접근이 추상화되어 datasource나 제어 방식등을 유연하게 변경할 수 있습니다.
[참고]
wiki - business delegate pattern
tutorialspoint - business delegate pattern
core j2ee
Comments