도도한 개발자
[정보처리기사] 디자인 패턴 본문
@ 디자인 패턴(Design Pattern)
: 소프트웨어 공학의 소프트웨어 설계에서 공통으로 발생하는 문제에 대해 자주 쓰이는 설계 방법 정리한 패턴
@ 디자인 패턴 유형
구분 | 유형 | 설명 |
목적 | 생성 | 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화 수행 패턴 |
구조 | 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴 | |
범위 | 행위 | 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴 |
클래스 | 클래스 간 관련성(컴파일 타임에 정적으로 결정) | |
객체 | 객체 간 관련성(런타임에 동적으로 결정) |
@ 디자인 패턴의 종류
[생성패턴]
패턴 | 설명 |
Builder | 복잡한 인스턴스 조립하여 만드는 구조. 복합 객체 생성 시 객체를 생성하는 방법(과정)과 객체를 구현(표현)하는 방법을 분리 |
Prototype | 처음부터 일반적인 원형을 만들어 놓고, 복사한 후 필요한 부분만 수정하여 사용 |
Factory Method | 상위 클래스에서 객체를 생성하는 인터페이스 정의, 하위 클래스에서 인스턴스 생성 |
Abstract Factory | 주체적인 클래스에 의존 않고 서로 연관되거나 의존적인 객체들의 조합을 만드는 인터페이스 제공. 동일한 주제의 다른 팩토리를 묶음 |
Singleton | 전역 변수 사용 X, 객체 하나만 생성. 생성된 객체 어디서든 참조 가능하게 |
[구조 패턴]
패턴 | 설명 |
Brigde | 기능의 클래스 계층과 구현의 클래스 계층을 연결하고 구현부에서 추상 계층을 분리해 추상화된 부분과 실제 구현 부분을 독립적으로 확장 |
Decorator | 기존에 구현되어 있는 클래스에 필요한 기능을 추가해 나가는 패턴. 상속의 대안으로 사용 |
Facade | 복잡한 시스템에 대해 단순한 인터페이스 제공. 결합도 낮춰 시스템 구조에 대한 파악 쉽게 |
Flyweight | 본직적인 요소를 클래스화 하여 클래스의 경량화 목적으로 하는 패턴. 가상 인스턴스 제공 |
Proxy | 실체 객체에 대한 대리 객체. 메모리 용량 아끼고 정보 은닉 역할 |
Composite | 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층 표현 |
Adapter | 기존 클래스 재사용 위해 중간에서 맞춰주는 역할. 클래스 패턴(상속) - 인스턴스 패턴(위임) |
[행위 패턴]
Meditator / Interpreter / Iterator / Template Methid / Observer / State / Visitor / Command / Strategy / Memento / Chain of Responsibility
'자격증 > 정보처리기사' 카테고리의 다른 글
[정보처리기사] 복습 D-2 (0) | 2022.05.05 |
---|---|
[정보처리기사] 복습 D-3 (0) | 2022.05.04 |
[정보처리기사] 복습 D-4 (0) | 2022.05.03 |
[정보처리기사] UML 다이어그램 (0) | 2022.05.03 |
[정보처리기사] 애플리케이션 테스트 (0) | 2022.04.30 |