Design Pattern - Adapter
1. 상속을 이용한 Adapter Pattern
1.1. 클래스다이어그램

- Print.java
package com.dazzilove.adapter.extend.sample1;
public interface Print {
public abstract void printWeak();
public abstract void printStrong();
} - PrintBanner.java
package com.dazzilove.adapter.extend.sample1;
public class PrintBanner extends Banner implements Print {
public PrintBanner(String string) {
super(string);
}
public void printWeak() {
showWithParen();
}
public void printStrong() {
showWithAster();
}
} - Banner.java
package com.dazzilove.adapter.extend.sample1;
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 + "*");
}
} - Main.java
package com.dazzilove.adapter.extend.sample1;
public class Main {
public static void main(String[] args) {
Print p = new PrintBanner("Hello");
p.printWeak();
p.printStrong();
}
}
1.3. 결과화면

2. 인스턴스를 이용한 Adapter Pattern
2.1. 클래스다이어그램

- Banner.java
package com.dazzilove.adapter.implement.sample1;
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 + "*");
}
} - Print.java
package com.dazzilove.adapter.implement.sample1;
public abstract class Print {
public abstract void printWeak();
public abstract void printStrong();
} - PrintBanner.java
package com.dazzilove.adapter.implement.sample1;
public class PrintBanner extends Print {
private Banner banner;
public PrintBanner(String string) {
this.banner = new Banner(string);
}
@Override
public void printWeak() {
banner.showWithParen();
}
@Override
public void printStrong() {
banner.showWithAster();
}
} - Main.java
package com.dazzilove.adapter.implement.sample1;
public class Main {
public static void main(String[] args) {
Print p = new PrintBanner("Hello");
p.printWeak();
p.printStrong();
}
}
2.3. 결과화면




덧글
innerman 2008/07/21 11:59 # 삭제 답글
다찌님 정말이지 공부 열심히 하시네요.^^
dazzi 2008/07/21 13:04 #
오옷~ 정녕 그렇게 보이는걸까나요?버뜨! 거짐 일년정도 차악 가라 앉아 있다가.. 겨우겨우 수면으로 떠오르고 있습니다.
조금씩 탄력붙여서 공부좀 해보려구요. ^^
짱가 2008/09/05 12:51 # 삭제 답글
인터페이스를 이용한 Adapter Pattern -> 인스턴스를 이용한 또는 위임을 이용한으로 수정~ ^^
dazzi 2008/09/05 14:32 #
수정했습니다. 감사감사 ^^