디자인 패턴

디자인 패턴

 

1. 디자인 패턴

 - SW 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴

 

2. 디자인 패턴 유형

 - 목적

유형 설명
생성 객체 인스턴스 생성에 관여, 클래스 정의객체 생성 방식구조화, 캡슐화를 수행하는 패턴
구조 더 큰 구조 형성 목적으로 클래스 or 객체의 조합을 다루는 패턴
행위 클래스 or 객체들이 상호 작용하는 방법 역할 분담을 다루는 패턴

 

    ※ 디자인 패턴 구성요소

구성요소 설명
패턴의 이름 디자인 패턴을 부를 때 사용하는 이름
문제 및 배경 디자인 패턴이 사용되는 분야 or 배경
솔루션 디자인 패턴을 이루는 요소들
사례 디자인 패턴의 간단한 적용 사례
결과 디자인 패턴을 사용하면 얻는 이점 or 영향
샘플 코드 디자인 패턴이 적용된 원시 코드

 

3. 디자인 패턴 종류

 - 생성 패턴

패턴 설명
Builder
(빌더)
- 복잡한 인스턴스를 조립해 만드는 구조
Prototype
(프로토타입)
- 처음부터 일반적인 원형을 만든 , 그것을 복사한 뒤, 필요한 부분만 수정해 사용하는 패턴
Factory method
(팩토리 메서드)
- 상위 클래스에서 인터페이스 정의, 하위 클래스에서 인스턴스 생성
Asbstract factory
(앱스트랙 팩토리)
- 서로 연관되거나 의존적인 객체들의 조합만드는 인터페이스제공
Singleton
(싱글톤)
- 전역 변수 사용하지 않고 객체 하나만 생성, 객체는 어디서든지 참조할 수 있음
- 한 클래스한 객체만 존재

 

 - 구조 패턴

패턴 설명
Adapter
(어댑터)
기존에 생성된 클래스를 재사용할 수 있도록, 중간에서 맞춰주는 역할
Bridge
(브릿지)
기능 계층구현 계층을 연결, 구현부에서 추상 계층 분리
Composite
(컴포지트)
객체들의 관계트리 구조로 구성
Decorator
(데코레이터)
기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나감
Facade
(퍼사이드)
복잡한 시스템에 대해 단순한 인터페이스 제공, 시스템 구조에 대한 파악쉽게 함
Flyweight
(플라이웨이트)
메모리 절약, 클래스의 경량화 목적
Proxy
(프록시)
실제 객체에 대한 대리 객체

 

 - 행위 패턴

패턴 설명
Mediator
(미디에이터)
중간에서 통제, 중재자
Interpreter
(인터프리터)
언어의 다양한 해석, 구문의 해석을 맡는 클래스각각 작성
Iterator
(이터레이터)
컬렉션 구현 방법노출시키지 않으면서, 그 집한체 안에 들어있는 모든 항목에 접근할 방법제공
Template Method
(템플릿 메서드)
상위 클래스추상 클래스, 하위 클래스구체 클래스
Observer
(옵저버)
한 객체의 상태가 바뀌면, 객체에 의존하는 다른 객체들에 연락가고, 자동 내용 갱신
State
(스테이트)
상태에 따라 다르게 처리할 수 있도록, 행위 내용을 변경
Visitor
(비지터)
클래스의 메서드각 클래스를 돌아다니며, 특정 작업 수행
Command
(커맨드)
명령이 들어오면, 그에 맞는 서브 클래스가 선택되어 실행
Strategy
(스트래티지)
알고리즘 군 정의, 행위클래스로 캡슐화하여 동적으로 행위를 자유롭게 변환
Memento
(메멘토)
Undo(작업취소) 기능 개발 , 사용
Chain of
Responsibility
(체인 오브
리스판서빌리티)
정적으로 어떤 기능에 대한 처리의 연결이 하드 코딩되어 있을 때, 이를 동적으로 연결되어 있는 경우에 따라 다르게 처리될 수 있도록 연결한 디자인 패턴

 

'정보처리기사 > DB' 카테고리의 다른 글

요구사항  (0) 2023.02.16
운영체제  (0) 2023.02.14
SW 아키텍처  (0) 2023.02.09
현행 시스템 파악 개념 및 절차  (0) 2023.02.09
일정관리 모델  (0) 2023.02.09