[디자인패턴] 어댑터 패턴(Adater patterns)
2016. 11. 9. 17:40ㆍ프로그래밍/디자인패턴
- 목차
어댑터 패턴(Adater patterns)
정의
한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환합니다. 어댑터를 이용하면 인터페이스 호환성 문제에 같이 쓸 수 없는 클래스들을 연결해서 사용 할 수 있습니다. |
내용
-신규 클래스에 이전 클래스를 연동해서 사용이 가능하게 할 수 있다.
예) 110V 전자제품을 220V로 변환 해주는 어댑터를 꼽아 사용하는 형태와 유사하다.
- 형식을 맞추어 사용하도록 하는 구조
- 기존 객체를 원하는 형식으로 바꾸어(adapt) 사용하는 방식
- 기존 객체의 인터페이스 호환성을 맞춰줌
- 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴
- 클래스 어댑터(상속을 이용) + 인스턴스 어댑터(위임을 이용)
- 어댑터 패턴을 구현하는 방식에는 두가지 형태가 존재 합니다.
- 클래스에 의한 Adapter 패턴(상속을 사용한 Adapter 패턴)
- 단점: 상속(Generalzation)을 활용하기때문에 유연하지 못하다.
- 장점: 어댑터(Adapter)를 전체를 다시 구현할 필요가 없다.(빠르다)
- 주의: 클래스 어댑터 에서는 다중상속을 이용하기 때문에 자바 에서는 쓸 수 없습니다.
- 인스턴스에 의한 Adapter 패턴(위임을 사용한 Adapter 패턴)
- 단점: 어댑터(Adapter)클래스의 대부분의 코드를 구현해야하기때문에 효율적이지 못하다
- 장점: 구성(Composition)을 사용하기 때문에 더 뛰어나다.(유연하다)
참조
- http://wiki.gurubee.net/pages/viewpage.action?pageId=1507407
- http://daddygoms.tistory.com/496
- http://wiki.gurubee.net/pages/viewpage.action?pageId=1507407#7.%EC%96%B4%EB%8C%91%ED%84%B0%ED%8C%A8%ED%84%B4%EA%B3%BC%ED%8D%BC%EC%82%AC%EB%93%9C%ED%8C%A8%ED%84%B4-13.%EA%B0%9D%EC%B2%B4%EC%96%B4%EB%8C%91%ED%84%B0%ED%8C%A8%ED%84%B4
- http://zetawiki.com/wiki/Adapter_%ED%8C%A8%ED%84%B4
'프로그래밍 > 디자인패턴' 카테고리의 다른 글
[디자인패턴] 원형(프로토타입) 패턴(prototype pattern) (0) | 2016.11.15 |
---|---|
[디자인패턴] 싱글톤패턴(Singleton pattern) (0) | 2016.11.15 |
[디자인패턴] 팩토리 메서드 패턴(Factory method pattern) (0) | 2016.11.10 |
[디자인패턴] 템플릿 메서드 패턴(Template Method Pattern) (0) | 2016.11.10 |
[디자인패턴] Strategy pattern(스트래티지 / 전략 패턴) (0) | 2016.11.08 |