분류 전체보기

🌻 JAVA/디자인 패턴

2. 옵저버(Observer) 패턴 - Head First Design Patterns

* 옵저버 패턴은 쉽게 말해서, 신문사 구독 메커니즘과 같다고 할수 있다. 출판사를 주제(Subject) , 구독자를 옵저버(Observer) 라고 정해보자. 옵저버는 등록(register) , 제거(remove) 가 자유롭다. 옵저버 패턴 정의 ) 한 객체의 상태가 바뀌면 그 객체의 의존하는 다른 객체들한테 연락이 가고, 자동으로 내용이 갱신되는 방식으로 일대다 의존성을 정의한다. 옵저버에 대한 모든 제어 ( 등록(register) , 제거(remove) , 알림(notify) ) 는 Subject에서 관리한다. 디자인 원칙 ) 서로 상호작용을 하는 객체 사이에서는 가능하면 *느슨하게 결합하는 디자인을 사용해야한다. * 변경사항이 생겨도 쉽게 처리를 할수가 있다. 객체 사이의 상호의존성을 최소화 할수 ..

🌻 JAVA/디자인 패턴

1. 스트래티지(Strategy) 패턴 - Head First Design Patterns

* 상속을 잘 활용하면 재사용 할수 있지만, 실제 코드를 정비 하는데는 별 도움이 되지 않는다. 이런 식으로 코드를 구현하면 , 나중에 행동을 추가한다던지, 다른 오리를 추가 할때 문제가 발생한다. 코드를 재사용하는 점에서도 좋지 않고, 나중에 날아다니는, 꽥꽥 거리는 행동을 바꿀때, 모든 코드를 다 바꿔야하는 상황을 초래한다. 디자인 원칙 ) 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리시킨다. 그렇다면, Duck클래스에서는 ? 나는 행동과 꽥꽥 거리는 행동을 분리 시킨다. 디자인 원칙 ) 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 이런식으로 디자인 하면 다른 형식 개체에서도 나는 행동과 꽥꽥 행동을 재사용 할수 있다. (코드의 재사용) 그리고, 기존의 행동 클래스를..

iseunghan
'분류 전체보기' 카테고리의 글 목록 (44 Page)