Skip to content

Soobinnn/Design-Pattern-Study

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

Design-Pattern-Study

Cafe24 디자인패턴 스터디 문서

- 기간 : 19.04.22 ~ 19.05.03 (2주)

- 인원 : 임수빈, 남기웅, 양동화, 유재국, 추연훈 (5명)

- 교재 : GOF의 디자인 패턴

Study Role

- 발표 방식

디자인 패턴 큰 카테고리 (생성패턴, 구조패턴, 행위패턴)별 패턴 1개씩 발표

2일 공부 후 1일 세미나식으로 진행

디자인 패턴(Desgin Pattern) 이란?

재사용이 가능한 설계는 선택하고, 재사용을 방해하는 설계를 배제하도록 도와줌

디자인 패턴을 적용해서 얻는 결과

  1. 이미 만든 시스템의 유지보수, 문서화 개선

  2. 클래스 명세도 정확해짐

  3. 객체 간의 상호작용, 설계의도 명확하게 정의

  4. 설계자들이 올바른 객체지향 설계를 빨리 만들 수 있도록 도와줌

  • 특정한 전후 관계에서 일반적 설계 문제를 해결하기 위해 상호교류하는 수정 가능한 객체와 클래스들에 대한 설명

디자인 패턴 카탈로그

Design-Pattern Diagram

범위 (Scope)

- 클래스

: 클래스와 서브클래스 간의 관련성(상속, 컴파일타임 정적)을 다루는 패턴

- 생성 클래스 : 객체를 생성하는 책임의 일부를 서브클래스가 담당하도록 넘김
- 구조 클래스 : 패턴은 상속을 이용해서 클래스를 복합함.
- 행동 클래스 : 상속을 이용해서 알고리즘과 제어 흐름을 기술함.

- 객체

: 객체 관련성(런타임에 변경가능, 동적)을 다루는 패턴

- 생성 객체 : 객체를 생성하는 책임을 다른 객체에게 위임함.
- 구조 객체 : 객체를 합성하는 방법을 정의함.
- 행동 객체 : 하나의 작업을 수행하기 위해 객체 집합이 어떻게 협력하는지 기술함.

목적 (Purpose)

- 생성

: 객체의 생성 과정에 관여하는 것

- 구조

: 클래스, 객체의 합성에 관한 패턴

- 행동

: 클래스, 객체들이 상호작용하는 방법과 책임을 분산하는 방법 정의

생성패턴

구조패턴

행위패턴

디자인 패턴 관계도

Design-Pattern Relation

  • 복합체(Composite)는 반복자(Iterator), 방문자(Visitor)를 함께 사용해야할 때가 많음.
  • 원형(Prototype) 은 추상 팩토리 패턴(Abstract Factory)의 대안 패턴
  • 복합체(Composite)는 장식자(Decorator)와 의도는 다르지만 구조는 매우 비슷함.

** Adapter, Proxy, Bridge 패턴은 독립적인 관계

About

Cafe24 디자인패턴 스터디 문서임

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages