CS Study/디자인패턴
2021.12.11_데코레이터패턴03.장점과단점
KyeongMin
2021. 12. 11. 15:03
728x90
반응형
- 기존 코드 변경하지 않고 부가 기능 추가하는 패턴
장점
- 새로운 클래스를 만들지 않고 기존 기능을 조합할 수있음
- 컴파일 타임이 아닌 런타임에 동적으로 기능을 변경할 수 있음
- 조합을 할때 플래그를 사용해서 구분을 함
- 값에 따라서 그전에 플래그가 바뀌면 기능의 조합을 동적으로 할 수 있음
- 조합을 할때 플래그를 사용해서 구분을 함
- 기존의 코드는 바뀌지 않고 기능을 확장할 수있는 open Close 법칙이 적용됨
- 클라이언트가 인터페이스 사용 (의존성 역전 법칙)
- solid의 대부분 적용된 패턴임
단점
- 데코레이터를 조합하는 코드가 복잡할 수 있음
- after의 코드가 늘어남
- 대신 상속보다는 좀 덜하지만 굳이 따지자면 인터페이스랑 데코레이터를 만든것이 정적으로 들어난것임, 너무 큰 단점은 아님
GitHub - 3DPIT/study
Contribute to 3DPIT/study development by creating an account on GitHub.
github.com
728x90
반응형