Skip to main content

Posts

Showing posts from September 15, 2013

Adapter Pattern

Adapter Pattern wrapper라 불리기도 한다. 개념 기존 클래스를 사용하고 싶은데, 인터페이스가 맞지 않을 때, 이 수법을 사용한다. 예, 110볼트 어댑터를 220볼트 어댑티에 연결할 때, 우리는 변환 어댑터를 끼워사용한다. 적용 사례 인터페이스는 상속을 받고, 구현은 상속하지 않는다. 장단점 요약

Facade Pattern

퍼사드 패턴 Facade Pattern 개념 서브시스템들 사이의 의사소통 및 종속성을 최소화한다. 일단의 서브시스템의 기능성을 단순화된 하나의 인터페이스를 제공한다. 이 인터페이스를 public API, 서브시스템의 각 기능을 private API로 볼 수 있다. 적용 사례 예를 들어, 로그인 처리에 대해서 알아보자. 사용자가 아이디와 패스워드를 입력하고 로그인 버튼을 클릭하면, WAS 측의 로그인 public API가 호출된다. 이 때, 로그인 처리에 필요한 일단의 복수 기능이 호출된다. 이 기능은 계정 유무 판별, 계정 정보, 게임 머니, 오늘의 한마디, 친구 목록, 주간 랭킹 정보등을 들 수 있다. 모든 기능이 처리된 후, 그 결과를 메시지 등의 형태로 클라이언트에 전달된다. 이를 퍼사드 패턴이라 불리고, 로그인 public API가 창구역할(transaction manager)를 하는 인터페이스이고, 그 외를 서브시스템으로 볼 수 있다. 장단점 1. 서브시스템의 구성요소를 보호하고, 은폐할 수 있다. 2. 서브시스템과 사용자 코드 간의 결합도를 약하게 한다. 3. 서브시스템의 재활용도가 높아짐. 요약 객체지향언어에서의 추상클래스의 개념과는 관계없음을 주의하자. 단순히, 하나의 목적을 달성하기 위해, 하나의 함수에서 여러 복잡한 서브시스템를 호출하고, 그 결과를 돌려주는 개념이다.