본문 바로가기

Adapter Pattern

(3)
Adapter Pattern ③ 마무리하며.. 어댑터 패턴에 대해서 간략히 알아봤는데요.. 어댑터 패턴이라는 놈을 멋있게 표현하면... (그럴싸하게;;;) 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환합니다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 쓸 수 있습니다.라고 책에서 정리를 하고 있습니다. 그러면.. 제가 만든 예제 소스 다이어 그램 말고.. -ㅅ- 보편적으로 사용되는 어댑터 패턴 클래스 다이어그램을 살펴보도록 하겠습니다. 완전 대따!!! 간단합니다... 'ㅡ' ㅋㅋㅋㅋ 일단 총 4가지의 클래스 및 인터페이스를 확인 할 수 있는데요.. 1. Client 2. IService 3. Adapter 4. Adaptee총 4가지가 있습니다. Client는 말 그대로 어떠..
Adapter Pattern ② 예제 소스 음.. 일단.. 이번에도 스타크래프트를 예를 들어서 소스코드를 만들었습니다. 우선 테란 유닛들에 대해서 잘 생각해 보면.. 모든 유닛이 공통적으로 가능한 것들이 클릭했을때 어떠한 특정한 목소리를 내는것이고.. 하나는 적군 유닛을 공격하도록 합니다. 그래서 아래와 같이 UML 이 그려졌습니다. 일단 TerranUnitInterface 라는 것을 만들어 주구요.. 이걸 구현하는 클래스가 원래는 2개가 있었습니다. 바로 Marine 클래스와 SiegeTank 클래스입니다. 둘다 attack() 과 clickIntAction() 메소드를 오버라이드 하고 있구요.. 그런데.. 확장팩이 생기면서 메딕이라는 유닛이 나타났습니다. 이유닛은 똑같이 공격 명령을 내리는데.. 메딕은 공격대신에 아군을 치료한다고 합니다. 비..
Adapter Pattern ① 개념 정리 책에서도 나오지만.. 어댑터라는 개념은...-_-;; 별로 어려운 내용이 아니더라구요.. 실제로 많이 사용하는 전기 플러그를 떠올리면 되겠습니다 -ㅅ-// 흔히 돼지코라고도 불리우는데.. 디지털 카메라.. (내수품으로) 사용하시는 분들은 익히 잘 아실것이라고 생각합니다. 110V 의 전원을 220V 의 전원을 사용하는 우리나라에서 사용하려면 특수한 어댑터가 필요한 겁니다. 그런 역할을 하는 것이 이 어댑터라는 개념입니다. 그러면 어댑터 패턴은 뭘까요? 예를 들자면.. 어떤 회사에서 물건을 구입하는 시스템을 만든다고 했다고 가정합니다. 여러사람들이 각각 자기가 맡은 분야의 클래스들을 작성을 해오는데.. 사람마다 저마다 틀리기 때문에 인터페이스가 통일이 되지 않을 수 있고.. 또 다른 시스템을 외부에서 도입..