본문 바로가기

전략 패턴2

[Design Pattern] 데코레이터 패턴 이번 포스팅 할 디자인 패턴은 데코레이터 패턴이다. 데코레이터는 말 그대로 장식하는 것이다. A, B, C 클래스가 있을 때 A -> B(A) -> C(B(A)) 이런식으로 장식해나갈 수 있는 패턴 또는 구조를 만드는 것을 데코레이터 패턴이라고 한다. 데코레이터 패턴을 사용하면 상속으로 복잡하고 중복된 코드를 만드는 것이 아니라 전략 패턴과 연계되어 좀 더 활용도 높은 구조를 만들 수 있다. 코드로 한 번 알아보자. 코드 구성 의존성 역전 원칙을 위한 Notifier 인터페이스 Notifier public interface Notifier { void send(); } BasicNotifier // 래퍼가 없는 데코레이터 // 이 클래스가 있어야 마무리 됨 public class BasicNotifier.. 2024. 4. 1.
[Design Pattern] 전략 패턴 전략 패턴은 디자인 패턴의 꽃이라고 불리우는 패턴이다. 전략 패턴을 제대로 적용하지 않으면 다른 모든 디자인 패턴들이 의미가 없을 정도로 중요하다고 한다. 코드로 살펴보기 전에 이해를 돕기 위한 그림은 다음과 같다. 문지기가 성의 입구에서 들어오는 무언가를 관리한다고 하자. 이때, 맨처음에는 쥐만을 쫓아내라고 명령을 내렸다가 다음에는 호랑이 등으로 추가될 때 마다 명령을 새로 줘야한다. 이는 문지기 입장에서 복잡한 상황이 될 것이다. 예를 들어 64 종류의 동물들을 쫓아내라고 한다면 문지기는 이걸 다 기억해야 한다. 결국 동물로 추상화하여 명령을 주는 것이 전략 패턴이라고 생각하면 된다. 코드 예시 Mouse public class Mouse{ private String name = "쥐"; public.. 2024. 3. 12.