Concept/Design Pattern
[Design Pattern] Facade Pattern
eee_269
2021. 5. 30. 22:09
728x90
반응형
퍼사드 패턴
- 어떤 서브 시스템의 일련의 인터페이스에 대한 통합된 인터페이스 제공
- 기존의 복잡한 interface를 단순화하기 위해 interface를 교체하는 것
- 복잡도 감소, 유지보수성 증가 → 런타임 퍼포먼스 감소, Wrapper 클래스가 많아질 수 있음
- 최소 지식 원칙
- 어떤 객체든 그 객체와 상호작용을 하는 클래스의 개수에 주의해야 함
- 그런 객체들과 어떤 식으로 상호작용을 하는지에도 주의를 기울여야 한다
- 호출해도 되는 메소드
- 자신이 가진 메소드
- 메소드의 파라미터로 전달되는 객체가 가진 메소드
- 메소드가 생성하거나 인스턴스화 하는 객체의 메소드
- 멤버 변수의 메소드
public House { WeatherStation station; // other methods and constructor public float getTemp() { Thermometer thermometer = station.getThermometer(); return getTempHelper(thermometer); } public float getTempHelper(Thermometer thermometer) { return thermometer.getTemperature(); } }
- 호출하지 말아야 하는 메소드
- 다른 메소드가 return한 객체의 메소드
public House { WeatherStation station; // other methods and constructor public float getTemp() { return station.getThermometer().getTemperature(); } }
- 다른 메소드가 return한 객체의 메소드
728x90
반응형