[디자인 패턴] Facade Pattern

2019. 1. 29. 15:22cs/디자인 패턴

Facade Pattern


Facade는 복잡한 클래스와 메소드로 만들어진 기능을 사용자에게 간단하게 보여지고 사용할 수 있게 만들어 주는 것입니다. 



프로그램이 커지면서 클래스와 메소드가 많아 지고 연관성이 많아지면서 프로그램이 복잡해집니다. 이와 같은 경우에 클래스간의 관계를 정확히 이해하고 순서에 맞게 메소드를 호출할 수 있어야합니다. 그래서 하나의 창구를 만들어서 내부는 복잡하게 만들어 져있지만 사용자입장에서는 로우한 api를 보는 듯 하게 만들어줍니다. 


한마디로 Facade는 복잡한 클래스와 메소드로 만들어진 기능을 사용자에게 간단하게 보여지고 사용할 수 있게 만들어 주는 것입니다. 


그래서 인터페이스의 수가 적어지고 이는 외부와의 결합이 얕아진 다는 것을 의미합니다.