Certificate/정보처리기사

정보처리기사[1과목] | GoF 디자인 패턴

구름솜:D 2023. 12. 20. 18:09
728x90

생성패턴

- 객체 생성과 관련된 패턴

1) Abstraction factory[구체적인 클래스 의존x]

: 서로 연관된거나 의존적인 객체들의 조합을 만드는 인터페이스제공, 서브클래스로 묶어서 한 번에 수행

2) Builder[조립] 

: 분리된 인스턴스를 조립하듯 조합

3) Factory method

: 인스턴스화 될 클래스를 서브클래스가 결정, Virtual - Constructor

4) Prototype[원본복사]

: 원본객체를 복제하여 객체 생성

5) Singleton[객체하나생성]

: 전역변수를 사용하지 않고 객체를 하나만 생성

 

 

구조패턴

- 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴

1) Adapter[중간역할]

: 함께 사용할 수 없는 클래스를 개조하여 함께 작동(동일한 전압이 아니면 중간에 변환코드 필요)

2) Bridge[연결]

: 기능클래스와 구현클래스 연결 및 분리

3) Composite[부분-전체]

: 복합 객체와 단일객체(개별객체)를 동일하게 사용

4) Decorator[기능추가]

: 기능을 동적으로(소스변경없이) 기능 확장

5) Facade[단순]

: 복잡한 시스템 구조화(복잡성을 낮춤)

6) Flyweight[클래스경량화]

: 객체들을 공유해 사용

7) Proxy[대리객체]

: 접근이 어려운 객체와 연결하여 인터페이스 임무수행(패키지를 이용하여 다른 객체로 접근)

 

 

행위패턴

- 반복적으로 사용화되는 객체들의 상호작용을 패턴화

1) Chain of Responsibility

: 요청을 해결할 때 까지 객체고리(chain)를 따라서 요청 전달

2) Command

: 요청을 객체로 캡슐화하여 클라이언트를 파라미터화

3) Interpreter

: 언어에 따른 문법을 정의하고 언어의 문장을 해석

4) Iterator(반복자)

: 내부표현 방법을 노출하지 않고 접근

5) Mediator[중재]

: 객체간의 참조관계를 분리하여 상호작용만 독립적으로 수행

6) Memento

: 캡슐화를 위배하지 않고 객체 내부 상태를 객체화하여 객체가 복구 가능할 수 있도록 함

7) Observer[상태변경]

: 일대다 종속성 정의

8) State

: 객체 내부 상태에 따라 행위를 변경

9) Strategy[캡슐화된 클래스 필요시 교환]

: 클라이언트 영향X, 독립적으로 알고리즘 변경

10) Template method

: 오퍼레이션에 알고리즘 처리과정 정의, 서브클래스에 구체적 처리 정의

11) Visitor[클래스돌아다님]

: 객체 구조의 요소들에 오퍼레이션 표현

 

 

디자인패턴구조

- content(주제, 목표) :  문제 발생 상황 작성

- problem(문제) : 여러 디자인 이유발생

- solution(해결) : 문제 해결의 요소, 관계, 책임 등 작성