본문 바로가기
{Programing}

Design Pattern

by 탱타로케이 2020. 1. 3.

프로그램 설계시에 자주 반복되고 나타나는 문제들을 위해 고안된 프로그램 패턴.

 

3가지의 구조로 구성됨.

 

문맥 : 문제가 발생하는 상황.

문제 : 해결해야될 제약 사항과 상황, 디자인 이슈들, 인과관계 등.

해결 : 문제를 해결하기위한 설계요소와 요소사이의 관계, 책임, 협력등. 구현법이나 언어에 종속되지않은 템플릿.

 

 

생성 패턴 

객체 생성에 대한 패턴.

객체 생성, 조합들을 캡슐화해 객체의 생성, 변경에 프로그램 구조가 영향 받지 않도록 유연성을 제공하는 패턴들.

ex) 싱글턴(singleton), 프로토 타입(Prototype), 빌더(Builder), 추상 팩토리(Abstract Factory), 팩토리 메서드(Factory Method)

 

구조 패턴

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

서로 다른 인터페이스를 가진 클래스를 하나의 인터페이스로 묶거나 객체를 서로 묶어서 새로운 객체로 만드는 기능을 제공하는 패턴.

ex) 어댑터(Adapter), 브리지(Bridge), 컴포지트(Composite), 데코레이터(Decorator), 파사드(Facade), 플라이웨이트(Flyweight), 프록시(Proxy)

 

행위 패턴

객체사이의 알고리즘이나 책입 분배에 관련된 패턴

한 객체에서 감당하기 너무 거대한 작업을 소분해서 객체로 나누면서, 객체사이 결합도를 낮추는 것이 중요한 패턴

ex) 책임 연쇄(Chain of Responsibility), 커맨드(Command), 인터프리터(Interpreter), 이터레이터(Iterator), 미디에이터(Mediator), 메멘토(Memento), 옵저버(Observer), 스테이트(State), 스트래티지(Strategy), 템플릿 메서드(Template Method), 비지터(Visitor)

'{Programing}' 카테고리의 다른 글

아두이노 프로젝트 리스트  (0) 2021.05.03
Design Pattern - Command  (0) 2020.01.03

댓글