[정보처리기사][서버 프로그램 구현] 디자인 패턴 (Design Pattern)

컴퓨터/정보처리기사

728x90
반응형

디자인 패턴 - Design Pattern

모듈 간의 관계 및 인터페이스를 설계할 때 참조할 수 있는 전형적인 해결 방식 또는 예제

 

  • 종류
    • 생성 패턴
    • 구조 패턴
    • 행위 패턴

1. 생성 패턴 - Creational Pattern

클래스나 객체의 생성과 참조 과정을 정의하는 패턴

추상 팩토리
Abstract Factory
구체적인 클래스에 의존하지 않고, 연관 또는 의존하는 객체들의 그룹으로 생성하여 추상적으로 표현하는 생성패턴
빌더
Builder
건축 하듯이 조립하여 객체를 생성하는 패턴
생성 과정과 표현 방법을 분리하고 있는것이 특징
팩토리 메소드
Factory Method
가상 생성자 패턴이라고도 불림
상위 클래스에서 인터페이스 정의
서브 클래스에서 생성을 담당하는 패턴
프로토 타입
Prototype
원복 객체를 복제하는 방법으로 객체를 생성하는 패턴
싱글톤
Singleton
생성된 객체를 어디서든 참조할 수 있지만 동시에 참조할 수 없는 패턴
클래스 내에서 인스턴스가 하나뿐임을 보장한다.

2. 구조 패턴 - Structural Pattern

클래스나 객체들을 조합하여 더 큰 구조로 만드는 패턴

어댑터
Adapter
서로 호환성이 없는 클래스들의 인터페이스를 다른 클래스가 이용할 수 있도록 변환해주는 구조 패턴
브리지
Bridge
구현부에서 추상층을 분리하여 서로가 독립적으로 확장할 수 있도록 구성한 패턴
기능과 구현을 두 개의 별로 클래스로 구현하는 것이 특징
컴포지트
Composite
객체들을 트리 구조로 구성하여 복잡한 구조를 구현할 수 있는 패턴
데코레이터
Decorator
능동적인 기능 확장을 위해 객체간의 결합을 하는 패턴
임의의 객체에 다른 객체들을 덧붙이는 방식으로 구현
퍼싸드
Facade
복잡한 구조를 감싸는 Wrapper객체를 통한 인터페이스를 구성하는 패턴.
플라이웨이트
Flyweight
인스턴스를 최소한으로 생성하여 메모리를 절약하기 위한 패턴
프록시
Proxy
접근이 어려운 객체와 연결하는 인터페이스 역할을 수행하는 패턴

3. 행위 패턴 - Behavioral Pattern

클래스나 객체들이 서로 상호작용하는 방법이나 책임 방법을 정의하는 패턴

책임 연쇄
Chain of Responsibility
요청 처리 객체가 여러개일 때 한 객체가 처리하지 못하면 다음 객체로 넘어가는 형태의 패턴
각 객체들이 고리로 묶여 요청이 처리될 때까지 고리를 따라 책임이 넘어감
커맨드
Command
요청 정보를 로그에 남기는 패턴
요청을 재이용 취소에 용의한 패턴
인터프리터
Interpreter
언어에 문법을 정의하는 패턴
반복자
Iterator
자료 구조등 접근이 잦은 객체에 사용되는 패턴
중재자
Mediator
객체들간의 상호작용을 캡슐화 하여 객체로 정의하는 패턴
객체 사이의 의존성을 줄여 결함도를 감소시킬 수 있다.
메멘토
Memento
특정 시점의 객체 상태를 객체화하여 특정 시점으로 객체의 상태를 돌릴 수 있는 패턴
옵서버
Observer
일대다의 의존성을 정의하는 패턴으로
한 객체의 상태가 변하면 객체에 상속되어있는 다른 객체들에게 변화된 상태를 전달한다.
상태
State
객체의 상태에 따라 동일한 동작을 다르게 처리해야 할 때 사용하는 패턴
전략
Strategy
동일한 계열의 알고리즘을 개별적으로 클라이언트가 선택 및 사용할 수 있는 패턴
템플릿 메소드
Template Method
상위 클래스에서 골격을, 하위 클래스에서 세부 처리를 구체화하는 구조의 패턴
코드의 양을 줄이고 유지보수를 용이하게 해주는 페턴
방문자
Visitor
각 클래스들의 데이터 구조에서 처리 기능을 분리하여 별도의 클래스로 구성하는 패턴

 

728x90
반응형

Commnet

G91개발일지

Gon91(지구일)

91년생 공학엔지니어의 개발일지

TODAY :

YESTER DAY :

TOTAL :