디자인 패턴을 제대로 공부해봐야지 했는데 계속 미루고 있었다.
더이상은 안되겠고, 꼭 정리한 번 해야지 하고 시작한다.
책은 C++로 된 책이지만
C# 코더(프로그래머라곤 차마 자신있게 말할순 없다보니...) 다보니, 내용을 이해해가면서 C#으로 포팅해야 할것같다
대분류 | 문제 유형 (사용목적 예시) | 연관 디자인 패턴 |
객체 생성 | 제품군 별 객체 생성 | Abstract Factory |
부분 생성을 통한 전체 객체 생성 | Builder | |
대행 함수를 통한 객체 생성 | Factory Method | |
복제를 통한 객체 생성 | Prototype | |
최대 N개까지로 객체 생성 제한 | Singleton | |
구조 개선 | 기존 모듈 재사용을 위한 인터페이스 변경 | Adapter |
인터페이스와 구현의 명확한 분리 | Bridge | |
객체간의 부분-전체 관계 형성 및 관리 | Composite | |
객체의 기능을 동적으로 추가, 삭제 | Decorator | |
서브시스템의 명확한 구분 정의 | Facade | |
작은 객체들의 공유 | Flyweight | |
대리 객체를 통한 작업수행 | Proxy | |
행위 개선 | 수행 가능 객체로까지 요청 전파 | Chain of Responsibility |
수행할 작업의 일반화를 통한 조작 | Command | |
간단한 문법에 기반한 검증 및 작업 처리 | Interpreter | |
동일 자료형의 여러 객체 순차 접근 | Iterator | |
M : N 객체 관계를 M : 1로 단순화 | Mediator | |
객체의 이전 상태 복원 또는 보관 | Memento | |
One Source Multiple Use | Observer | |
객체 상태 추가시 행위 수행의 원활한 변경 | State | |
동일 목적의 여러 알고리즘 중 선택해서 적용 | Strategy | |
알고리즘의 기본 골격 재사용 및 상세구현 변경 | Template Method | |
작업 종류의 효율적 추가, 변경 | Visitor |
이상 여기까지 크게 3개 분류에 따른, 목적별 디자인 패턴의 분류.
Abstract & Factory 패턴 정도는 내 개인 프로젝트에서도 간략히 써보긴 했지만...
업무적으론 "DB 연결 단일화" 목적의 싱글톤정도? 써보긴 했다만,
다른 사람들이 그렇게 만들었으니 나도 만든다는 의미가 컸었다.
이번엔 좀 제대로 파봐야지...
'프로그래밍&IT > 기타' 카테고리의 다른 글
TDD (Test Driven Development) 과 애자일 (Agile) 그리고 폭포수 모델 (1) | 2024.09.08 |
---|---|
Framework에서 Model이 의미하는 건? (0) | 2024.08.27 |
Fast Web Service Build up: 웹 서비스를 쉽고 빠르게 구축하는 기술 (0) | 2014.10.03 |
RGB , HTML 코드 색상표.2 (0) | 2014.01.04 |
RGB , HTML 코드 색상표.1 (0) | 2014.01.04 |