backup/design pattern
4. Adapter & Facade Pattern
nuKeguyS
2011. 12. 19. 15:06
# Adapter Pattern
한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다.
어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
# Facade Pattern
어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공한다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게
사용할 수 있다.
## 최소 지식 원칙(Principle of Least Knowledge) == 데메테르 법칙(Law of Demeter)
정말 친한 친구하고만 얘기하라.(정말 관련 된 최소 객체들과만 상호작용하라)
<-> 객체들 사이의 의존성을 줄이고, 소프트웨어 관리가 용이하지만 구성요소에 대한 메소드 호출을 처리하기 위해 래퍼클래스를 더 만들어야 할 수도 있다.
한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다.
어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
# Facade Pattern
어떤 서브시스템의 일련의 인터페이스에 대한 통합된 인터페이스를 제공한다. 퍼사드에서 고수준 인터페이스를 정의하기 때문에 서브시스템을 더 쉽게
사용할 수 있다.
## 최소 지식 원칙(Principle of Least Knowledge) == 데메테르 법칙(Law of Demeter)
정말 친한 친구하고만 얘기하라.(정말 관련 된 최소 객체들과만 상호작용하라)
<-> 객체들 사이의 의존성을 줄이고, 소프트웨어 관리가 용이하지만 구성요소에 대한 메소드 호출을 처리하기 위해 래퍼클래스를 더 만들어야 할 수도 있다.