어댑퍼 패턴
アダプターパターン
호환되지 않는 인터페이스를 연결하는 디자인패턴
오작교 패턴이라고 부르고 싶다.
실제 적용된 사례: JAVA의 InputStreamReader, Spring framework의 HanderAdapter
public interface Target{
void doSomething();
}
Target이란 호출할 인터페이스.
public class Adaptee{
public void performAction(){
System.out.println("hello world");
}
}A
Adaptee란 호환되지 않는 기존 대상
public class Adapter implements Target{
private final Adaptee daptee;
public Adapter(Adaptee adaptee){
this.adaptee = adaptee;
}
@Override
pulbic void doSomething(){
adaptee.performAction();
}
}
pubic class Client{
public static void main(String[] args){
Adaptee adaptee1 = New Adaptee();
Target target1 = new Adapter(adaptee1);
target1.doSometing(); // performAction()가 실행됨.
}
}
장점: 코드 재사용 가능, 중복 줄여줌
단점: 소스코드 늘어남, 복잡도 증가
-> API, 라이브러리를 사용하는 도중 기존 코드와 맞지 않는 경우,
어댑터 패턴을 이용하여 호환할 수 있다.
패턴을 배우긴 배웠고, 이해는 했으나 실제로 사용할 일이 많지는 않을 것 같다. 그러나 기존의 라이브러리등의 코드를 읽고 이해하는 능력이 오를 것 같다.
여기에

이 말이 전혀 모르겠다.