Programing/Java

Adapter Pattern

BUST 2018. 8. 1. 23:01

Adapter Pattern

  • Interface를 이용하여 라이브러리 API를 재정하는 패턴
  • Interface만 동일하면 기존 라이브러리에서 새로운 라이브러리로 변경이 쉬워진다.


UML Diagram


Example

interface ClickInfoClient
{
ClickInfo get(Long clickId);
}

class ClickInfoHiveClient implements ClickInfoClient
{
ClickInfo get(Long clickId)
{
return HiveRepository.findById(clickId)
}
}

ClickInfoClient clickInfoClient = new ClickInfoHiveClient();
System.out.println(clickInfoClinet.get(1));


만약 hive에서 Redshift로 변경이 되었다면

class ClickInfoRedshiftClient implements ClickInfoClient
{
ClickInfo get(Long clickId)
{
return RedshiftRepository.findById(clickId)
}
}

ClickInfoClient clickInfoClient = new ClickInfoRedshiftClient );
System.out.println(clickInfoClinet.get(1));
  • 기존 코드에 수정없이 ClickInfoRedshiftClient만 추가를 하면 된다.


'Programing > Java' 카테고리의 다른 글

전략 패턴 (Strategy Pattern)  (0) 2018.08.04
Rule Engine  (0) 2018.08.04
Apache HttpClient Example  (0) 2018.07.29
Java Object 비교 ==  (0) 2018.07.25
Spring RestTemplate  (0) 2018.07.22