2014년 12월 16일 화요일

[자바디자인패턴]상속을 이용한 어댑터 패턴(Adapter Pattern By Inheritence)[구로JSP자바교육학원/구로디지털자바,서블릿학원/스프링,마이바티스교육/실무스프링교육]

[자바디자인패턴]상속을 이용한 어댑터 패턴(Adapter Pattern By Inheritence)

 이미 제공 되는것과  필요로 하는것과의 사이에서 그 사이를 메꾸어 주는것이  Adapter의 역할을 하는 것으로 Adapter 패턴은 Wrapper 패턴이라고도 한다.

 Adapter 패턴은 기존의 클래스를 이용해서 필요한 클래스를 만든다.  기존의 것과 필요한 클래스가 기능이 차이가 많은 경우에는 Adapter 패턴을 이용할수 없다. 물론 기존 클래스의 소스는 필요없다.

 Adapter 패턴은 기존버전과 새버전을 공존시키면서 S/W의 유지보수를 가능하게 해 준다.

 Adapter 패턴에는 Class에 의한 Adapter 패턴(상속이용)과 인스턴스에 의한 Adapter 패턴(위임이용) 두가지 형태가 있다.


1. 상속을 이용한 Adapter 패턴

 이 예제는 기존에 제공되는 Class의 기능(주어진 문자열을 출력)을 이용하여 양쪽으로 괄호를 붙여 출력하는 간단한 예제이다.

 이미 제공되는것은 Banner Class이며 필요한것은 Print 인터페이스이고 교환장치(Adpater)는 PrintBanner Class이다.














[그림 : 상속을 이용한 어댑터 패턴]



//Banner.java
public class Banner {
private String str;
public Banner (String str) {
this.str = str;
}
public String  showString() {
return str ;
}
}


//Print.java
public interface Print {
public abstract String printString();
}
//PrintBanner.java
public class PrintBanner extends Banner implements Print {
public PrintBanner (String str) {   super(str);   }
public String  printString() {
return "(" + showString() + ")";
}
}



//Main.java
public class Main {
public static void main(String args[]) {
//PrintBanner p = new PrintBanner("hello"); ?
//만약 PrintBanner의 고유의 메소드가 있다면 
//이를 사용하기 위해서는 어떻게?
Print p = new PrintBanner("hello");
System.out.println(p.printString());
}
}

 



 [100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드…오라클자바…12-272865
 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육…오라클자바…12-112090
53 [평일100%환급7건]웹퍼블리싱,자바&JSP,안드로이드,C#닷넷,SQL기… 오라클자바…03-151941
52 [주말]C#,ASP.NET마스터 오라클자바…01-312082
51 [기업100%환급,평일주간]SQL기초에서스키마오브젝트,PLSQL,힌트… 오라클자바…01-313039
50 [주말주간]자바&웹,jQUERY,스프링프레임워크,마이바티스 오라클자바…01-311607
49 [평일주간/야간,주말주간/야간]Spring,MyBatis,Hibernate개발자… 오라클자바…01-191934
48 [평일주간/야간,주말주간/야간]안드로이드개발자과정(Adnroid 교… 오라클자바…01-111794
47 [평일야간,주말주간야간]JAVA,Network&JSP&Spring,MyBatis,Hiber… 오라클자바…01-032401
46 [100%환급,실무전문]SQL/빅데이터/자바/스프링/웹퍼블리싱/안드… 오라클자바…12-272865
45 [주말야간]개발자를위한PLSQL,SQL튜닝,힌트(토/일) 오라클자바…12-192014
44 [평일주간/야간,주말주간/야간]웹퍼블리싱 마스터(HTML5,CSS3,jQ… 오라클자바…12-141981
43 [채용확정무료교육]오라클자바개발잘하는신입뽑기2개월과정,교육… 오라클자바…12-112090
42 [주말야간]JAVA,JSP,Spring,PLSQL,힌트,웹퍼블리싱,안드로이드,… 오라클자바…12-091625
41 [평일야간,주말야간]닷넷(C#,Network,ADO.NET,ASP.NET)마스터 오라클자바…12-011846
40 [기업100%환급]오라클&자바웹스프링신입과정3주(SQL,JAVA,JSP,Se… 오라클자바…12-012089
39 [평일야간,주말]SQL기초에서실무까지(SQL기초,PLSQL,힌트,튜닝) 오라클자바…12-011498



댓글 없음:

댓글 쓰기