본문 바로가기

Programming/과거포스팅

FACADE패턴

이번장은 FACADE패턴이다.

FACADE패턴은 코드없이 이론적으로만 정리하겠다.


자바의 장점은 막강한 API를 제공하는 것에 있다.

이 API를 사용하여 프로그램을 작성하다보면 문제점이 생길 수 있다.

객체지향의 장점이자 단점인데 

재사용을 함으로써 다양한 방법으로 적용할 수 있지만 

다양한 방법으로 적용을 하다보니 너무 다양한 옵션들이 생겨서

개발자가 어디서 시작해야 될지 모르는 문제가 발생한다는 점이다.

FACADE패턴은 이를 해결하기 위해 고안된 패턴이다.

우리가 개발을 하면서 흔히 쓰는 방법이기도 하다.

기본 API 또는 복잡하고 잘 설계 되어지지 않은 라이브러리들과 어플리케이션의 중간점에 위치하는 클래스이며

위의 라이브러리들을 간편하게 사용할 수 있도록 해준다.


FACADE의 목적은 서브 시스템을 사용하기 쉽도록 해주는 인터페이스를 제공하는데 있다.

FACADE는 인터페이스를 제공한다고 하여 자바 인터페이스를 이용하는 것이 아니라. 

복잡한 서브시스템 클래스들을 사용하기 쉽도록 해주는 메소드들을 만들어서 제공하는 클래스이다.


개발을 하다보면 코드가 복잡해지기 때문에

리팩토링을 통해서 클래스와 메서드의 역할과 목적이 뚜렷하게 만들어야 한다. 

그래야만 나중에 유지보수를 하거나 확장할때 용이할 것이다.


그렇기 때문에 내가 짠 코드를 다른 개발자들이 사용할 때 더욱더 용이하게 사용하기 위해서

FACADE를 제공하면 된다.

그렇다면 복잡한 내부 API를 몰라도 제공하는 메서드들을 이용하여 손쉽게 개발이 가능할 것이다.