Design Patterns - Adapter Pattern, Facade Pattern
Adapter Pattern
- 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환하는 패턴. 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있다.
Facade Pattern
- 복잡한 서브 시스템들을 사용해 고수준의 인터페이스를 정의하는 패턴. 클라이언트가 서브시스템을 쉽게 사용할 수 있다.
Principle of least knowledge(최소 지식 원칙) == Law of Demeter(데메테르의 법칙)
- 객체 사이의 상호작용은 가까운 "친구" 사이에서만 허용하라.
- 의존하는 클래스가 많으면 관리와 파악이 어렵다.