728x90
1. 디자인 패턴
- 소프트웨어 공학의 소프트웨어 설계에서 공통적으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다.
- 개발의 효율성과 유지보수성 등의 품질이 높아지며, 프로그램의 최적화에 도움이 된다.
2. 디자인 패턴 구성 요소
- 패턴의 이름
- 문제 및 배경
- 솔루션
- 사례
- 결과
- 샘플 코드
3. 디자인 패턴 유형
1) 목적 : 생성 / 구조 / 행위
- 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴
- 구조 : 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴
- 행위 : 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴
2) 범위 : 클래스 / 객체
4. 디자인 패턴 종류
i ) 생성 패턴
Builder | 생산 단계를 캡슐화 하여 구축 공정을 동일하게 이용하도록 하는 패턴 |
Prototype | 복사하여 새 개체를 생성할 수 있도록 하는 패턴 |
Factory Method | 객체를 생성하기 위한 인터페이스를 정의하여 어떤 클래스가 인스턴스화 될 것인지는 서브 클래스가 결정하도록 하는 패턴 |
Abstract Factory | 생성 군들을 하나에 모아놓고 팩토리 중에서 선택하게 하는 패턴 |
Singleton | 유일한 하나의 인스턴스를 보장하는 패턴 |
ii ) 구조 패턴
Bridge | 추상과 구현을 분리하여 결합도를 낮춘 패턴 |
Decorator | 소스를 변경하지 않고 기능을 확장하도록 하는 패턴 |
Facade | 하나의 인터페이스를 통해 느슨한 결합을 제공하도록 하는 패턴 |
Flyweight | 대량의 작은 객체들을 공유하는 패턴 |
Proxy | 대리인이 대신 그 일을 처리하는 패턴 |
Composite | 개별 객체와 복합 객체를 클라이언트에서 동일하게 사용하도록 하는 패턴 |
Adapter | 인터페이스로 인해 함께 사용하지 못하는 클래스를 함께 사용하도록 하는 패턴 |
iii ) 행위 패턴
Interpreter | 언어 규칙 클래스를 이용하는 패턴 |
Template Method | 알고리즘 골격의 구조를 정의한 패턴 |
Chain of Responsibility | 객체들끼리 연결 고리를 만들어 내부적으로 전달하는 패턴 |
Command | 요청 자체를 캡슐화하여 파라미터로 넘기는 패턴 |
Iterator | 내부 표현은 보여주지 않고 순회하는 패턴 |
Mediator | 객체 간 상호작용을 캡슐화한 패턴 |
Memento | 상태 값을 미리 저장해 두었다가 복구하는 패턴 |
Observer | 상태가 변할 때 의존자들에게 알리고, 자동 업데이트하는 패턴 |
State | 객체 내부 상태에 따라서 행위를 변경하는 패턴 |
Strategy | 다양한 알고리즘을 캡슐화하여 알고리즘 대체가 가능하도록 한 패턴 |
Visitor | 오퍼레이션을 별도의 클래스에 새롭게 정의한 패턴 |
728x90
'Computer Science > 정보처리기사' 카테고리의 다른 글
비용산정 모델 (0) | 2022.01.29 |
---|---|
2 (5) 인터페이스 구현 검증 도구의 종류 (0) | 2022.01.28 |
2.(4) 어플리케이션 테스트 관리 (0) | 2022.01.27 |
[정보처리기사] 객체지향 개념 및 객체지향 기법, 객체지향 설계 원칙(SOLID) (0) | 2022.01.20 |
[정보처리기사] 3. 데이터베이스 구축(2)- 데이터모델 절차란 (0) | 2022.01.17 |