(→행동 패턴) |
(→같이 보기) |
||
223번째 줄: | 223번째 줄: | ||
* [[패턴]] | * [[패턴]] | ||
* [[MVC]] | * [[MVC]] | ||
* [[코딩 패턴]] | |||
* [[프레임워크]] | * [[프레임워크]] | ||
* [[아키텍처 패턴]] | * [[아키텍처 패턴]] |
2022년 4월 29일 (금) 01:42 판
- 다른 뜻에 대해서는 디자인 패턴(design pattern) 문서를 참조하십시오.
- 다른 뜻에 대해서는 디자인 패턴 (1994) 문서를 참조하십시오.
1 개요
- software design pattern, design pattern
- 소프트웨어 디자인 패턴, 디자인 패턴, 설계 패턴
- 객체지향 설계에 자주 활용되는 구조 모음
- 객체지향 설계에서 나타나는 다양한 패턴들을 정리한 것[1]
- 소프트웨어 개발과정에서 발견된 설계 노하우를 정리한 것
- 소프트웨어 설계상의 구조적인 문제를 해결하는 데에 도움이 됨
- 소프트웨어 설계시 자주 나타나는 문제를 해결하기 위해 활용하는 설계구조 패턴
- 설계시 자주 반복되는 문제에 대한 해결책을 담고 있다.
2 생성 패턴
한국어명 | 영어명 | 비고 |
---|---|---|
추상 팩토리 패턴 ★★★ | Abstract factory | 부품을 조립해서 제품 생성 |
빌더 패턴 ★★ | Builder | 조립해서 제품 생성 |
팩토리 메소드 패턴 ★★★ | Factory method | 하위클래스에서 인스턴스 생성 |
게으른 초기화 ★ | Lazy initialization | |
Multiton | ||
객체 풀 | Object pool | |
프로토타입 패턴 ★★ | Prototype | 인스턴스를 복제해서 사용 |
Resource acquisition is initialization | ||
싱글턴 패턴 ★★★★ | Singleton | 하나의 인스턴스만 생성해서 공유사용 |
3 구조 패턴
한국어명 | 영어명 | 비고 |
---|---|---|
어댑터 패턴 ★★★ | Adapter | 기존 객체를 원하는 형식으로 맞추어 사용 |
브리지 패턴 ★★ | Bridge | 기능 계층과 구현 계층을 분리 |
컴포지트 패턴 ★★★ | Composite | 그릇과 내용물을 동일시 |
데코레이터 패턴 ★★★ | Decorator | 장식과 내용물을 동일시 |
퍼사드 패턴 ★★★ | Facade | 단순한 창구 역할 |
플라이웨이트 패턴 ★★ | Flyweight | 동일한 것을 공유하여 사용 |
프론트 컨트롤러 패턴 | Front Controller | |
모듈 패턴 | Module | |
프록시 패턴 ★★★ | Proxy | 필요해지면 만드는 구조 |
4 행위 패턴
한국어명 | 영어명 | 비고 |
---|---|---|
블랙보드 패턴 | Blackboard | |
역할 사슬 패턴 ★★ | Chain of responsibility) | 책임을 떠넘기는 구조 |
커맨드 패턴 ★★★ | Command | 명령을 클래스로 표현하는 구조 |
인터프리터 패턴 ★ | Interpreter | |
이터레이터 패턴 ★★★ | Iterator | 어떤 목록을 차례로 처리하는 구조 |
미디에이터 패턴 ★★ | Mediator | 중개자를 통해 처리하는 구조 |
메멘토 패턴 ★ | Memento | |
널 객체 | Null object | |
옵저버 패턴 ★★★ | Observer | 상태 변화를 통보 받는 구조 (이벤트 핸들러 구조) |
서번트 패턴 | Servant | |
Specification | ||
스테이트 패턴 ★★ | State | |
스트래티지 패턴 ★★★ | Strategy | 알고리즘을 교체할 수 있는 구조 |
템플릿 메소드 패턴 ★★★ | Template method | 상부에서는 기본 로직 구성, 구체적인 것은 하위로 위임 |
비지터 패턴 ★★ | Visitor | 데이터 구조를 방문하며 처리 |
5 병행성 패턴
한국어명 | 영어명 | 비고 |
---|---|---|
액티브 객체 | Active Object | |
Balking | ||
바인딩 프로퍼티 | Binding properties | |
더블 체크 락킹 | Double-checked locking | |
이벤트 기반 비동기 처리 | Event-based asynchronous | |
Guarded suspension | ||
락 | Lock | |
메시징 디자인 패턴 | Messaging design pattern (MDP) | |
모니터 객체 | Monitor object | |
리액터 | Reactor | |
읽기-쓰기 락 | Read-write lock | |
스케줄러 | Scheduler | |
스레드 풀 | Thread pool | |
스레드 특정 스토리지 | Thread-specific storage |
6 같이 보기
7 참고
- ↑ 객체지향 분석/설계시에 도움이 된다.
편집자 Jmnote
로그인하시면 댓글을 쓸 수 있습니다.