본문 바로가기
IT/WPF

[디자인 패턴] 퍼사드 패턴 ( Facade )

by 참고만 2024. 11. 14.
728x90
반응형

- 퍼사드 디자인 패턴

 

자동차가 있다.

자동차가 앞으로 가는 기능이 필요하다.

엔진과 기어 온갖 구동장치 동력전달장치 바퀴까지 수 많은 기계적 움직임을 제어하여 차를 앞으로 보낼 수 있다.

운전자가 제어 하기에는 너무 복잡하고 번거롭고 알 필요가 없다.

그러므로 운전자는 제어의 모든걸 악셀패달 하나에 연결하여 자동차를 앞으로 보내도록 한다.

여기서 악셀패달이 퍼사드클래스 이다.

 

 

 

퍼사드 디자인 패턴의 정의 : 라이브러리 또는 복잡한 프레임워크, 다른 클래스들의 복잡한 집합에 대한 단순화된 인터페이스를 제공 하는 구조적 디자인 패턴이다.

 

개발중인 프로젝트에 어떠한 기능이 필요하여 라이브러리나 프레임 워크를 도입 해야 할 경우가 생긴다. 

 

이때 프로젝트 메인코드에 해당 라이브러리나 프레임 워크의 초기화 및 셋팅을 해주는 경우에 자칫 메인코드가 해당 라이브러리에 의존성이 생길 수 있다.

 

또한 메인 코드가 길어지며 추후 관리 하는데 있어 추가 모듈이 변경되거나 업데이트 되어야 하는경우 유지보수의 비용이 상승 할 여지도 발생한다.

 

이러한 상황을 방지 하기 위해 해당 라이브러리(프레임워크)에서 사용할 기능만 따로 인터페스를 만들어 제공하여 준다.

 

그렇게 된다면 해당 라이브러리가 변경되거나 수정이 되어도 메인코드는 손 댈 필요없이 추가 모듈만 수정하면 되는 이점이 생긴다.

 

위에 든 자동차로 예시를 들어 본다면 엔진이 고장났다고 해서 악셀 패달을 교체, 수리 할 필요가 없이 엔진만 손보면 된다는 뜻 이다.

728x90
반응형

댓글