1.정의
-기존 클래스에 기능을 추가할 때 유용한 패턴으로 특정 기능을 하는 단위 형식 개체로 정의하여 기능을
추가/삭제를 용이하게 하는 패턴.
- 기능을 수행하는 기반 클래스를 작성하고 기능을 수행하는 메서드를 약속한다..
2.시나리오
-가족은 야구장에 놀러갔다.
-아들은 야구장에 수많은 선수의 사진을 찍었다.
-그러나 카메라의 설정이 잘못 됐는지 사진의 상태가 좋지 않았다.
-아버지는 그런 아들을 위해 사진 자료들을 색 보정,채도 보정.명도 보정(단위 기능)을 하여
사진을 편집했다.
3.다이어그램
-수정하는 기능을 약속한 IChange 인터페이스를 약속한다.
-Ichange의 인터페이스에 따라 파생클래스(ToneCompensator, BrightnessCompensator, SaturationCompensator)의 실질적 기능을 구현한다.
-MultiCompensator 클래스는 단위기능 객체들의 리스트를 가지고 일관적으로 기능들이 적용되도록 한다.
-Picture는 해당 클래스의 결과를 나타내다.
4.구현
1)Picture 클래스
2)IChange 인터페이스
3)단위기능 객체들의 클래스
4)MultiCompensator 클래스
5)테스트
'C# > GoF 디자인패턴' 카테고리의 다른 글
[GoF]11.플라이급 패턴(Flyweight Pattern) (0) | 2023.10.21 |
---|---|
[GoF]10.퍼사드 패턴(Facade Pattern) (0) | 2023.10.18 |
[GoF]8.복합체 패턴(Composite Pattern) (0) | 2023.10.15 |
[GoF]7.가교 패턴(Bridge Pattern) (0) | 2023.10.08 |
[GoF]6.적응자 패턴(Adapter Pattern) (0) | 2023.09.23 |