브릿지 패턴: 2개의 글
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/qX00G/btrnDGsm7pX/Kl0Nt2EiyRkvXdFEnjK5Xk/img.png)
브릿지 패턴 (Bridge Pattern) 구현부에서 추상층을 분리하여 각자 독립적으로 변형이 가능하고 확장이 가능하도록 합니다. 즉 기능과 구현에 대해서 두 개를 별도의 클래스로 구현을 합니다. ■ 브릿지 패턴의 구조 ● Abstraction : 기능 계층의 최상위 클래스. 구현 부분에 해당하는 클래스를 인스턴스를 가지고 해당 인스턴스를 통해 구현부분의 메서드를 호출합니다. ● RefindAbstraction : 기능 계층에서 새로운 부분을 확장한 클래스 ● Implementor : Abstraction의 기능을 구현하기 위한 인터페이스 정의 ● ConcreteImplementor : 실제 기능을 구현합니다. ■ 브릿지 패턴 예제 각 '동물'이라는 클래스와 이 동물 클래스가 가질 수 있는 '사냥방법'을..
![](http://i1.daumcdn.net/thumb/C200x150/?fname=https://blog.kakaocdn.net/dn/eHaclA/btq0mywfEUG/B76BGRqfgqZtckBbqhkgSk/img.png)
구조패턴 목록 어댑터 패턴 (Adapter Pattern) 브릿지 패턴 (Bridge Pattern) 컴포짓 패턴 (Composite Pattern) 데코레이터 패턴 (Decorator Pattern) 퍼사드 패턴 (Facade Pattern) 플라이웨이트 패턴 (Flyweight Pattern) 프록시 패턴 (Proxy Pattern) 인터페이스 구현 시 로직이 많이 변경되어도 사용방법에 있어서 차이가 없도록 코드를 작성해야할 것 같다. 원하는 기능이 있다면 어떻게 원래의 함수에 잘 스며들 수 있을지 고민이 필요할 듯 하다. 장점 - 인터페이스와 구현을 분리할 수 있습니다. - 확장성을 향상시킵니다. - 클라이언트로부터 구현 정보를 숨길 수 있습니다. 사용시기 - 기능적 추상화와 구현 사이에 영구적인 ..