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 |