디자인 패턴
- 전형적인 문제들에 대한 재사용 가능한 해결책
- 축적된 경험 활용, 불필요한 시행착오 감소
- 이름을 부여해서 설계 문제와 해법 및 결과 기술
- 문제: 고려할 제약 사항 기술
- 해법: 구성 요소, 요소 간 관계 및 책임, 협력관계 기술
- 결과: 패턴을 적용해서 얻는 결과, 장단점 기술
- 공통 언어 역할, 효율적인 협업 가능
- 디자인한 시스템의 안정성과 성능 향상
GoF (Gang of Four) 패턴 (생성/구조/행동 패턴)
Factory Method | 어떤 객체를 생성할 지를 기반 클래스로부터 분리하여 파생 클래스에서 결정 (캡슐화하여 분리처리) |
Singleton | 어디서든 참조할 수 있는 객체를 하나만 생성 |
Adapter | 클래스의 인터페이스를 다른 인터페이스로 변환 |
Composite | 복합 객체와 단일 객체를 구별 없이 다루도록 처리 |
Decorator | 객체의 결합으로 기능을 동적으로 유연하게 확장 |
Observer | 일대다 객체 의존관계 구성 (다른 객체 상태변화에 연동) |
State | 객체의 상태에 따라 객체의 행위 내용을 변경 |
Strategy | 행위를 클래스로 캡슐화하여 동적으로 행위 변경 |
Template Method | 기반(추상) 클래스에서 공통 로직(template)을 제외한 일부분(추상 메소드: override)을 파생 클래스로 캡슐화 |
Visitor | 고정된 자료구조에 행위를 쉽게 추가 가능 |
'CS' 카테고리의 다른 글
[소프트웨어 공학] 소프트웨어 테스트 - 2 (0) | 2022.10.03 |
---|---|
[소프트웨어공학] 소프트웨어 테스트 - 1 (0) | 2022.10.03 |
[소프트웨어 공학] 디자인 원칙 SOLID (0) | 2022.09.26 |
[소프트웨어 공학] 의존성 주입과 IoC (0) | 2022.09.26 |
[소프트웨어 공학] Maven (0) | 2022.09.26 |