본문 바로가기
Design Pattern

디자인 패턴 - Facade pattern

by SuldenLion 2022. 4. 12.
반응형

Facade pattern : facade(건물의 정면) / 특정 서브 시스템에 소속된 여러개의 객체를 액세스하기 위한 통합된 접근 경로를 제공하는 방법. adapter pattern과 facade 이 두개의 패턴은 이질적인 시스템을 연결하는 효과를 제공함.

Facade pattern은 클래스 라이브러리 같은 어떤 소프트웨어의 다른 커다란 코드 부분에 대한 간략화된 인터페이스를 제공하는 객체. / facade는 소프트웨어 라이브러리를 쉽게 사용할 수 있게 해줌(공통적인 작업에 대해 간편한 메소드들을 제공해줌). / facade는 라이브러리 바깥쪽의 코드가 라이브러리의 안쪽 코드에 의존하는 일을 감소시켜줌. 대부분의 바깥쪽의 코드가 facade를 이용하기 때문에 시스템을 개발하는데 있어 유연성이 향상됨. / Wrapper가 특정 인터페이스를 준수해야 하며, 폴리몰픽 기능을 지원해야 할 경우에는 adapter pattern을 쓴다. 단지 쉽고 단순한 인터페이스를 쓰고 싶을 경우에는 facade를 쓴다. / Facade는 인터페이스를 단순화 시키기 위한 용도로 쓰이고, Adapter는 인터페이스를 다른 인터페이스로 변환하기위한 용도로 쓰임

 

Demeter's Law(Principle of least knowledge) 

x.f().y.g(); -> sintax에 문제는 없지만 미리 어떤 함수를 쓰는건지 알아야하므로 쓰면안됨. System.out.println()같은 경우는 워낙 많이 쓰는 문장이라 속도를 위해 그냥 저렇게 씀.

최소 지식 원칙의 가이드라인 : 어떤 메소드에서든지 다음 네 종류의 객체의 메소드만을 호출.- 객체 자체 / 메소드에 매개변수로 전달된 객체 / 그 메소드에서 생성하거나 인스턴스를 만든 객체 / 그 객체에 속하는 구성요소

 

반응형

댓글