디자인패턴

    [디자인 패턴] 데코레이터 패턴

    [디자인 패턴] 데코레이터 패턴

    상속의 문제 A회사의 알림 메세지 기능이 존재한다. 알림 메세지 기능은 특정 이벤트가 발생한 경우 수신자에게 메세지로 알림을 전송하는 역할을 한다. 근데 갑자기 협력사에서도 알람을 달라고 한다. B협력사는 슬랙으로, C협력사는 카카오톡으로, D협력사는 슬랙과 메세지지로.... 이 상황에서 우리는 다음과 같은 구성을 쉽게 생각할 수 있다. 위와 같은 구조의 문제점을 생각해보자. 메세지의 종류가 10가지 종류가 있다면 어떻게 해야할까? 전체 구현해야하는 클래스의 갯수는 10! -1 이다. 생각만 해도 끔찍하다. 그리고 더 끔찍한거는 메세지의 전송방식이 바뀌는 상황이다. 그러면 일일이 해당 방식이 구현된 곳을 찾아 코드를 변경해야한다. 이 시점에서 우리는 아래의 디자인 원칙을 다시 살펴볼 필요가 있다. 디자인..