ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Adapter 패턴
    Book/Java언어로 배우는 디자인패턴 입문 2012. 8. 13. 17:53

    사전의미는 "기계나 기구 따위를 여러 다른 용도로 사용하기 위해 덧붙이는 기구"라고 명시가 되어있다. 그뜻처럼 Adapter패턴은 이미만들어져있는 클래스를 새로운 인터페이스에 맞게 개조시킬때 사용하는 패턴이다. 새로운 프로젝트나 새로운 수정사항이 나왔을경우 기존 버그가 없는 소스를 손대서 다시 디버깅작업을 하는것보다는 기존 안정화된 소스를 건드리지 않고 추가적인 사항들만 맞추면 되는것이다.

    Banner.java

    package com.patten.Adapter;
    
    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 + "*");
    	}
    }
    
    

    PrintBanner.java

    package com.patten.Adapter;
    
    public class PrintBanner extends Print {
    	private Banner banner;
    
    	public PrintBanner(String string){
    		this.banner = new Banner(string);
    	}
    	
    	@Override
    	public void printWeak() {
    		// TODO Auto-generated method stub
    		banner.showWithParen();		
    	}
    
    	@Override
    	public void printStrong() {
    		// TODO Auto-generated method stub
    		banner.showWithAster();
    	}
    }
    

    Print.java

    package com.patten.Adapter;
    
    public abstract class Print {
    	public abstract void printWeak();
    	public abstract void printStrong();
    }
    

    Main.java

    package com.patten.Adapter;
    
    public class Main {
    
    	/**
    	 * @param args
    	 */
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		Print p = new PrintBanner("Hello");
    		p.printWeak();
    		p.printStrong();
    	}
    
    }
    


Designed by Tistory.