1. 생성(Creational) 패턴 – 객체 생성 방식에 중점
1. Singleton | 클래스의 인스턴스를 오직 하나만 생성하도록 보장 |
2. Factory Method | 객체 생성을 서브클래스에서 처리. 객체 생성 책임을 위임 |
3. Abstract Factory | 관련된 객체들을 구상 클래스에 의존하지 않고 그룹으로 생성 |
4. Builder | 복잡한 객체 생성을 단계별로 구성 (같은 프로세스로 다양한 표현 가능) |
5. Prototype | 기존 객체를 복사(clone)하여 새 객체 생성 |
2. 구조(Structural) 패턴 – 클래스나 객체를 조합하여 더 큰 구조를 만듦
6. Adapter | 인터페이스 호환이 안 되는 클래스들을 호환되도록 연결 |
7. Bridge | 추상화와 구현을 분리하여 독립적으로 확장 가능하게 함 |
8. Composite | 트리 구조처럼 객체를 구성하고, 부분-전체 관계를 동일하게 처리 |
9. Decorator | 기존 객체에 기능을 동적으로 추가할 수 있음 |
10. Facade | 복잡한 시스템에 단순한 인터페이스 제공 |
11. Flyweight | 공유 가능한 객체를 재사용하여 메모리 절약 |
12. Proxy | 실제 객체에 대한 대리인 역할 수행, 접근 제어 또는 로깅 등에 사용 |
3. 행위(Behavioral) 패턴 – 객체 간의 상호작용, 책임 분산
13. Chain of Responsibility | 요청을 처리할 수 있는 객체를 체인 형태로 연결, 처리자는 자신 또는 다음 객체 |
14. Command | 요청을 객체로 캡슐화 → 실행/취소/저장/재실행 등을 유연하게 처리 |
15. Interpreter | 특정 언어의 문법을 해석하고 실행하는 방법을 제공 |
16. Iterator | 컬렉션의 요소들을 순차적으로 접근할 수 있게 함 |
17. Mediator | 객체들 간의 복잡한 상호작용을 중재자 객체가 관리 |
18. Memento | 객체 상태를 저장하고 복원할 수 있게 함 (Undo 기능 구현에 적합) |
19. Observer | 상태 변화 시 등록된 객체들에게 자동 알림, 이벤트 기반 |
20. State | 객체의 상태에 따라 행동이 변경되는 패턴, 상태 객체가 행동을 관리 |
21. Strategy | 알고리즘을 각각의 객체로 정의하고 교체 가능하게 설계(인터페이스 이용) |
22. Template Method | 알고리즘의 구조를 상위 클래스에 정의하고, 세부 단계는 하위 클래스에서 구현(상속 이용) |
23. Visitor | 객체 구조에서 연산을 분리해서, 새로운 기능을 추가할 때 사용 |
'CS > SoftwareEngineering' 카테고리의 다른 글
테스트 목적에 따른 분류 (0) | 2025.04.17 |
---|---|
형상 관리 도구 (0) | 2025.04.17 |
정적/동적 다이어그램 (0) | 2025.04.16 |
응집도(Cohesion)/결합도(Coupling) (0) | 2025.04.16 |
테스팅 기법 (0) | 2025.04.14 |