728x90
출처 : 책 - java 언어로 배우는 디자인 패턴 입문
1. 사용 이유
(1) 목적
- 기존의 것을 감싸서 재이용한다.
- 소속 인터페이스 말고 다른 인터페이스 맞출 때 사용한다.
(2) 특징
- Wrapper 패턴으로 불리기도 한다.
- 상속 또는 인스턴스를 이용한다.
- 기존의 검증된 Class를 재사용 하면 신뢰성이 향상된다.
- 메소드를 감싸서 새로운 메소드를 만든 다음 다른 인터페이스에 끼워 넣을수도 있다.
2. 예제
(1) Banner
public class Banner {
private String string;
public Banner(String string) {
this.string = string;
}
public void showWithParen() {
System.out.println("(" + string + ")");
}
public void showWithAster() {
System.out.println("*" + string + "*");
}
}
(2) Print - Banner 클래스를 감싸 Print 인터페이스에 맞춘다.
public interface Print {
public abstract void printWeak();
public abstract void printStrong();
}
(3) PrintBanner ( 방법 1 : 상속 )
public class PrintBanner extends Banner implements Print {
public PrintBanner(String string) {
super(string);
}
public void printWeak() {
showWithParen();
}
public void printStrong() {
showWithAster();
}
}
(4) PrintBanner (방법 2 : 인스턴스 )
public class PrintBanner extends Print {
private Banner banner;
public PrintBanner(String string) {
this.banner = new Banner(string);
}
public void printWeak() {
banner.showWithParen();
}
public void printStrong() {
banner.showWithAster();
}
}
728x90
'개발 > 디자인 패턴' 카테고리의 다른 글
[Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 6. Prototype (0) | 2021.01.08 |
---|---|
[Java 언어로 배우는 디자인 패턴 입문] 인스턴스 만들기 5. Singleton (0) | 2021.01.07 |
[Java 언어로 배우는 디자인 패턴 입문] 하위 클래스 위임 4. Factory Method (0) | 2021.01.07 |
[Java 언어로 배우는 디자인 패턴 입문] 하위 클래스 위임 3. Template Method (0) | 2021.01.07 |
[Java 언어로 배우는 디자인 패턴 입문] 입문 1. Iterator - 순서대로 처리 (0) | 2021.01.03 |
댓글