Adapter pattern(1)

상속에 의한 Adapter 패턴 -  가장 기본이 되는 클래스를 중심으로 클래스를 확장하는 방법으로 인터페이스로 구현하는 방식, 어쩌면 클래스 확장에 있어 가장 기본이 되는 디자인 패턴인듯 싶다.

플래시에서도 가장 쉽게 적용되는 방식이다.

*Adaptee – Banner Class

접합하는 측이 아니라 접합되는 측. 이미 준비되어있는 메소드를 가지고 있는 역할.

public class Banner{
  private String string;
 
  public Banner(String string){
  this.string=string;
  }
 
  public void showWithParen(){
    System.out.printIn("("+string+")");
  }
 
  public void showWithAster(){
    System.out.printIn("*"+string+"*");
  }
 
}

*Target – Print Interface

필요로 하는 메소드를 제공하는 역할.

 public interface Print{
    public abstract void printWeak();
 
    public abstract void printStrong();
 
}

*Adapter – PrintBanner Class

Adaptee 역할의 메소드를 사용하여 Target 역할을 충족시키는 역할.

public class PrintBanner extends Banner implements Print{
 
public PrintBanner(String string){
    super(string);
}
 
public void printWeak(){
  showWithParen();
}
 
public void printStrong(){
  showWithAster();
}
 
}

*Client – Main Class

Target 역할의 메소드를 사용해서 일을 하는 역할

public class Main{
 
public static void main(String[] args){
 
Print p= new PrintBanner("Hellow");
 
p.printWeak();
 
p.printStrong();
 
}
 
}

Print interface 를 사용하여 구현하고 있다는 점을 강조하기 위해 인스턴스 변수를 Print 형 변수에 대입하여 사용함…

0 Responses to “Adapter pattern(1)”


  • No Comments

Leave a Reply

Spam Protection by WP-SpamFree