본문 바로가기

정보처리기사

[정보처리기사 실기] 2일차 디자인 패턴 암기

 

- 아키텍처 패턴이 디자인 패턴보다 상위 수준의 설계에 사용됨

- 서브 시스템에 속하는 컴포넌트들과 그 관계를 설계하기 위한 참조 모델

(아키텍처 패턴은 전체 시스템의 구조를 설계하기 위한 참조 모델)

 

1. 생성 패턴(Creational Pattern) - 추 빌 팩 프 싱

- 상 팩토리(Astract Factory): 서로 연관, 의존하는 객체들을 그룹으로 생성해 추상적으로 표현

- 더(Builder): 객체의 생성과정과 표현 방법 분리 -> 동일한 객체 생성에도 서로 다른 결과

- 토리 메소드(Factory Method): 객체를 생성하기 위한 인터페이스를 정의하여, 어떤 클래스가 인스턴스화 될 것인지는 서브클래스가 결정하도록 하는 것(Virtual-Constructor 패턴)

- 로토타입(Prototype): 원본 객체를 복제하는 방법

- 글톤(Singleton): 하나의 객체를 여러 프로세스가 동시 참조할 수 없음

 

2. 구조 패턴(Structural Pattern) - 어 브 컴 데 퍼 플 프

- 댑터(Adapter): 호환성이 없는 클래스 인터페이스를 이용할 수 있도록 변환해주는 패턴

- 리지(Bridge): 구현부에서 추상층을 분리하여, 독립적으로 확장 및 다양성을 가지는 패턴

- 포지트(Composite): 여러 객체를 가진 복합, 단일 객체를 구분 없이 다룰 때 사용하는 패턴

- 코레이터(Decorator): 상속을 사용하지 않고도 객체의 기능을 동적으로 확장해주는 패턴

- 싸드(Facade): 서브 클래스들의 기능을 간편하게 사용할 수 있도록 하는 패턴 ex) 리모컨

- 라이웨이트(Flyweight): 공유해서 사용함으로써 메모리를 절약하는 패턴

- 록시(Proxy): 접근이 어려운 객체를 연결해주는 인터페이스 역할을 수행하는 패턴

 

3. 행위 패턴(Behavioral Pattern)

- 책임 연쇄(Chain of Responsibility): 한 객체가 처리하지 못하면 다음 객체로 넘어가는 패턴

- 커맨드(Command): 요청에 사용되는 각종 명령어들을 추상, 구체 클래스로 분리하여 단순화함

- 인터프리터(Interpreter): 언어에 문법 표현을 정의하는 패턴

- 반복자(Iterator): 동일한 인터페이스를 사용하도록 하는 패턴

- 중재자(Mediator): 서로의 존재를 모르는 상태에서도 협력할 수 있게 하는 패턴

- 메멘토(Memento): 요청에 따라 객체를 해당 시점의 상태로 돌릴 수 있는 기능을 제공하는 패턴

- 옵서버(Observer): 관찰 대상의 변화를 탐지하는 패턴

- 상태(State); ...

 

개많다..