디자인 패턴

Jmnote (토론 | 기여)님의 2018년 10월 14일 (일) 18:52 판 (→‎구조 패턴)

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 주석

  1. 객체지향 분석/설계시에 도움이 된다.

8 참고

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}