Tech Collection

[Design Pattern] Facade Pattern 본문

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(); 
            } 
        }​
728x90
반응형

'Concept > Design Pattern' 카테고리의 다른 글

[Design Pattern] Iterator Pattern  (0) 2021.05.30
[Design Pattern] Template Method Pattern  (0) 2021.05.30
[Design Pattern] Adapter Pattern  (0) 2021.05.30
[Design Pattern] State Pattern  (0) 2021.05.30
[Design Pattern] Decorator Pattern  (0) 2021.05.30