공부기록장

[Design Pattern] 디자인 패턴 종류 및 특징 본문

▶ 자격증/정보처리기사

[Design Pattern] 디자인 패턴 종류 및 특징

친절한 3 2021. 4. 16. 15:23

디자인 패턴은 크게 생성, 구조, 행위 패턴으로 분류할 수 있다.

생성(creatinal) 패턴

: 객체 생성과 관련한 패턴. 객체 생성에 있어서 프로그램 구조에 영향을 크게 주지 않는 유연성을 제공.

ex) 추상팩토리 (abstract factory), 팩토리메서드 (factory method), 싱글톤 (singlethon)


구조(structural)패턴

: 클래스나 객체를 조합해서 더 큰 구조를 만드는 패턴을 의미한다.

ex) 어댑터 (adapter), 브릿지 (bridge), 컴퍼지트 (composite), 파사드 (facade), 프록시 (proxy)


행위(behavioral)패턴

: 객체나 클래스 사이의 알고리즘이나 책임 분배에 관련된 패턴을 의미한다.

ex) 커맨드 (command), 옵저버 (observer), 스트레티지 (strategy)


생성(creatinal) 패턴

추상팩토리 (abstract factory) : 구체적인 클래스에 의존하지 않고 의존적인 객체들의 조합을 만드는 인터페이스를 제공

추상팩토리 

팩토리메서드 (factory method) : 상위 클래스에서 객체를 생성하는 인터페이스를 정의하고, 하위 클래스에서 인스턴스를 생성하도록 하는 방식

팩토리메서드 

싱글톤 (singlethon) : 전역 변수를 사용하지 않고 객체를 하나만 생성하도록 하며, 생성된 객체를 어디에서든지 참조할 수 있도록 하는 디자인 패턴

싱글톤 


구조(structural)패턴

어댑터 (adapter) : 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴

어댑터 

브릿지 (bridge) : 구현부에 추상층을 분리하여 각자 독립적으로 변형할 수 있도록 하는 패턴

브릿지 

컴포지트 (composite) : 여러 개의 객체들로 구성된 객체들을 클라이언트에서 구별 없이 다루게 해주는 패턴

컴포지트 

파사드 (facade) : 서브시스템에 있는 인터페이스 집합에 대한 통합된 하나의 인터페이스를 제공하는 패턴

파사드 

프록시 (proxy) : 어떤 다른 객체로의 접근을 통제하기 위해 그 객체의 매니저나 자리 채움을 제공하는 패턴

프록시 


행위(behavioral)패턴

커맨드 (command) : 실행될 기능을 캡슐화해서 여러 기능을 실행할 수 있도록 하는 재사용성이 높은 클래스를 설계

커맨드  

옵저버 (observer) : 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들에게도 연락이 가서 자동으로 내용이 갱신되는 방법

옵저버

스트레티지 (strategy) : 행위를 클래스로 캡슐화해서 동적으로 행위를 자유롭게 바꿀 수 있게 하는 패턴

스트레티지

 

Comments