Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
design_pattern:adapter_pattern [2017/10/27 10:32] – [상속을 이용한 구현] ledyxdesign_pattern:adapter_pattern [2024/02/05 13:16] (current) – [Target, Adapter] ledyx
Line 7: Line 7:
     * 다른 용도로 감싸기때문에 'Wrapper' Pattern이라고도 불림.     * 다른 용도로 감싸기때문에 'Wrapper' Pattern이라고도 불림.
  
-{{tag>Architecture Modeling DesignPattern Structional}}+{{tag>Architecture Modeling Design_Pattern Structural}}
  
 = 상속을 이용한 구현 = = 상속을 이용한 구현 =
Line 75: Line 75:
  }  }
 } }
 +
 +//test
 +//v1.0
 </sxh> </sxh>
  
  
 = 위임을 이용한 구현 = = 위임을 이용한 구현 =
 +Target이 Class인 경우. Java나 C#은 다중상속이 되지 않기 때문에 **다른 인스턴스의 메소드에 맡김**
 +
 +== Target, Adapter ==
 +<sxh java>
 +/**
 + * 필요한, 변환될 것. Target
 + */
 +public interface NewVerAPI {
 + void printMessage();
 + void printVersion();
 +}
 +</sxh>
 +
 +<sxh java ; highlight:[5]>
 +/**
 + * 필요한, 변환될 것의 구현체. Adapter
 + */
 +public class NewVerAPIImpl implements NewVerAPI {
 + private OldVerAPI oldVerAPI;
 +
 + public NewVerAPIImpl(String str) {
 + this.oldVerAPI = new OldVerAPI(str);
 + }
 +
 + @Override
 + public void printMessage() {
 + oldVerAPI.showMessage();
 + }
 +
 + @Override
 + public void printVersion() {
 + System.out.println("v1.0");
 + }
 +}
 +</sxh>
design_pattern/adapter_pattern.1509096762.txt.gz · Last modified: 2021/02/07 03:15 (external edit)