📌 어뎁터 패턴 Adapter Pattern
Adapter Pattern 에서는 실생활에서 많이 쓰이는 어뎁터를 떠올리면 된다.
변환기를 뜻한다.
흔히 돼지코라고 불리는데 100v를 200v로 변경해주거나, 그 반대로 해주는
📍 어뎁터 패턴의 원칙 호환성이 없는 기존 클래스의 인터페이스를 변환하여 재사용 할 수 있도록 한다.
SOLID 중에서 개방 폐쇄 원칙OCP를 따른다.
Main 클래스
❗12 HairDryer hairDryer = new HairDryer(); // 110v 구현 클래스 생성
connect(hairDryer);
15 Cleaner cleaner = new Cleaner();
16 connect(cleaner);
오류가 뜬다.
connect()은 매개변수로 Electronic110v만 받을 수 있는데
Cleaner 객체는 Electronic220v를 상속받았기 때문이다.
220v를 110v로 바꿔주는 돼지코가 필요한 상황이다.
SocketAdepter 클래스를 이용한다.
21 Electronic110v adapter =newSocketAdepter(cleaner);
22 connect(adapter);
=> 자기 자신(Cleaner) 은 변하지 않고 중간에 인터페이스(어뎁터)로 맞추는 형식 = adepter pattern
Electronic220v를 상속받은 AirConditioner 또한 어뎁터로 맞춘다.
25 AirConditioner airConditioner = new AirConditioner();
26 Electronic110v airAdepter = new SocketAdepter(airConditioner);
27 connect(airAdepter);
** Electronic110v만 받을 수 있는 connect() **
30 public static void connect(Electronic110v electronic110v){
31 electronic110v.powerOn();
Adepter pattern ?
=> 자기 자신(220v의 Cleaner, AirConditioner 클래스) 은
변하지 않고 중간에 인터페이스(SocketAdepter)로 맞추는 형식
'이론 > 디자인패턴' 카테고리의 다른 글
[디자인 패턴] 옵저버 패턴 Observer Pattern (0) | 2021.06.06 |
---|---|
[디자인패턴] 데코레이터 패턴 Decorator Pattern (0) | 2021.06.06 |
[디자인 패턴] 프록시 패턴 Proxy Pattern (0) | 2021.06.04 |
[디자인 패턴] 싱글톤 패턴 Singleton pattern (0) | 2021.06.04 |
[디자인패턴] Design Pattern 의 효용과 종류 (0) | 2021.06.04 |