거꾸로 바라본 세상
Observer Pattern(관찰자 패턴)

Observer Pattern(관찰자 패턴) Observer Pattern은 Observer 라는 Child List를 가지고 있는 주체를 필요로 하는데, 주체는 자신의 메서드 중 하나를 호출해 Observer에게 상태 변경을 알린다. 즉, 주체(Subject)는 이벤트를 발생시키는 역할을 하고, 관찰자(Observer)는 이벤트 수신하는 역할을 한다. 이 패턴은은 이벤트 처리를 기반으로 시스템을 구현할 때 필수고, MVC패턴의 중요한 부분이기도 하다. 대부분의 UI라이브러리는 Observer Pattern을 사용한다. 그리고 런타임 중 객체 사이에 일 대 다(1:N) 의존성을 등록할 수 있다. 장점 응용 프로그램 사이의 결합도를 낮출 수 있다. 효율적으로 이벤트를 배포하는데 도움이 된다. UML 다이어..

article thumbnail
Template Method Pattern(템플릿 메서드 패턴)

Template Method Pattern Template Method Pattern 이란?상위클래스에 탬플릿에 해당하는 추상 메서드가 정의되어 있고, 하위 클래스에서 상위 클래스의 추상메서드를 구현하는 것. 즉, 상위 클래스에서 처리의 뼈대를 결정하고, 하위 클래스에서 구체적인 내용을 구현하는 패턴이다. 구현 Template Method의 구현 클래스 1. AbstarctClass(추상 클래스)- 탬플릿 메서드를 구현하는 부분으로 추상메서드를 생성한다. 2. ConcreteClasee(구현 클래스)- AbstarctClass에 정의되어 있는 추상메서드를 구체적으로 구현하는 역할을 한다. 위 그림처럼 AbstractDisplay에서 추상메서드를 만들고, 하위 클래스인 StringDisplay와 CharD..

article thumbnail
Adapter Pattern

Adapter Pattern Adapter Pattern 이란? - Adapter Pattern은 A라는 클래스의 메서드나 기능들을 B에서도 그대로 사용할 수 있게 중간매개체인 교환장치를 만들어 주어 사용하는 패턴이며 Wrapper 패턴이라고도 불린다. 한국에서는 220볼트를 사용하지만 해외에서는 110볼트를 사용해야 한다. 그래서 220볼트를 110볼트로 사용하기 위해서는 중간매게체인 어댑터(Adapter)가 필요하다. 즉, 변환장치같은 역할을 하는 것이다. Adapter Pattern의 종류 1. 클래스에 의한 Adapter Pattern- 상속을 이용한 Adapter Pattern이다. 2. 인스턴스에 의한 Adapter Pattern(위임을 사용한 Adapter Pattern) 1. 클래스에 의한..

article thumbnail
Iterator Pattern

Iterator Pattern - 어떤 하나의 집합의 정보를 하나 씩 호출하여 전체를 순차적(차례대로)으로 검색하여 처리하는 방법으로 Iterator은 무언가를 '반복하다'라는 의미이다. 1. Iterator 인터페이스 - Iterator 인터페이스는 요소를 하나씩 나열하여 루프 변수같은 역할을 수행한다. 쉽게말하면 순서대로 검색하기위한 인터페이스다. Iterator 내의 메소드는 2개 이다. public interface Iterator {boolean hasNext();E next();} hasNext() : 다음요소가 있는지 검사하는 메서드이다. - 다음 요소가 존재한다면 hasNext 반환 값이 true가 되어 조건을 수행하게 되고 false 라면 수행을 멈춘다. next() : 다음요소의 데이터..