https://github.com/MyoungSoo7/DesignPattern
박은종의 객체지향 설계를 위한 디자인패턴 with 자바
Adapter Pattern : 호환
- 서로 다른 인터페이스를 중간에서 연결해주는 기능
- 이미 사용중이거나 정의된 인터페이스들을 중간에서 맞춰서 적용해 줄 수 있음
- 예) 안드로이드 ListView Adpter
- 클라이언트에서 사용하던 방식대로 호출하여 사용할 수 있도록 조정해주는 기능
- 서로 일치하지 않는 인터페이스를 변경하지 않고 중간에서 호출하여 사용할 수 있도록 제공
- Wrapper
- Target : 클라이언트가 사용할 인터페이스를 정의 하고 있는 클래스
- Client : Target 인터페이스를 사용하는 객체
- Adaptee : 실제의 새롭거나 적용될 기능이 제공되는 클래스
- Adapter : Target 인터페이스에 Adaptee의 인터페이스를 맞춰주는 클래스
package com.backend.bakckend.designpattern.adapter;
interface Print{
abstract void printWeak();
abstract void printStrong();
}
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 + "*");
}
}
class PrintBanner extends Banner implements Print{
public PrintBanner(String string){
super(string);
}
public void printWeak(){
showWithParen();
}
public void printStrong(){
showWithAster();
}
}
public class Adapter {
public static void main(String[] args) {
Print p = new PrintBanner("Hello");
p.printWeak();
p.printStrong();
}
}
<tenping class="adsbytenping" style="width:100%;max-width:768px;margin:0px auto;display:block;" tenping-ad-display-type="1LawCE8FqKOhetXZhMopsQ%3d%3d" tenping-ad-client="CJLGE%2b3msU4%2fdQqGqzeNme2LlLZrxcjMISLpeKaay3AXffFr4DhanzC%2b%2ftb89xLM"></tenping>
<script async src="//ads.tenping.kr/scripts/adsbytenping.min.js"></script>
LIST
'4차산업혁명의 일꾼 > Java&Spring웹개발과 서버 컴퓨터' 카테고리의 다른 글
복잡한 연결을 단순하고 간단하게 처리하는 패턴(Facade, Mediator) (0) | 2023.03.06 |
---|---|
(State, Observer, Memento:상태저장)상태를 클래스로 표현하여 관리하는 패턴 (0) | 2023.03.05 |
디자인패턴 4 동일시하기-equate : (Decorator)와 위임하기(Composite) (0) | 2023.03.03 |
[OKKY 2월 세미나] AI사용으로 개발 속도 2배 높이기 정리 (0) | 2023.02.27 |
데이터베이스 시스템 정리 - 방송통신대 컴퓨터공학과 (0) | 2023.02.23 |