https://refactoring.guru/ko/design-patterns/decorator
데코레이터는 객체를 특수 래퍼로 감싸 동일한 인터페이스를 유지한 채 새로운 행동을 동적으로 연결하는 구조 패턴입니다.

Notifier클래스를 기반으로 했으며, 이 클래스에는 몇 개의 필드들, 하나의 생성자 그리고 단일 send메서드만 존재했다.

각 알림 유형은 알림자의 자식 클래스로 구현됩니다.

자식 클래스들의 합성으로 인한 클래스 수의 폭발
*Notifier(알림자) 클래스를 확장하고 추가 알림 메서드들을 새 자식 클래스들에 넣어 이제 클라이언트가 사용자가 원하는 알림 클래스를 인스턴스화하고 모든 추가 알림에 사용하도록 앱을 설계했습니다.*
알림 라이브러리에서 이메일 외에 SMS, 페이스북, 슬랙 등 다양한 채널을 동시에 지원하려면 자식 클래스 조합이 폭발적으로 증가합니다.