Skip to content

Latest commit

 

History

History
111 lines (69 loc) · 3.44 KB

README.md

File metadata and controls

111 lines (69 loc) · 3.44 KB

DesignPattern_In_CPP

A software design pattern is a reusable solution to a reoccurring software design pattern

GitBook

디자인패턴의 이해와 사용을 위한 설명

02 Creational Patterns - 객체 생성을 위한 디자인패턴

- Abstract Factory
    + Creates an instance of several families of classes.
    + 클래스의 여러 개의 패밀리의 인스턴스들을 생성한다.
    + Super – Sub : Inheritance

- Builder
    + Separates object construction from its representation.
    + 객체 구성으로부터 표현과 분리한다.

- Factory Method
    + Creates an instance of several derived classes.
    + 여러 파생 클래스의 인스턴스를 만든다.

- Object Pool
    + Avoid expensive acquisition and release of resources by recycling objects that are no longer in use.
    + 더 이상 사용하지 않는 개체를 재활용하여 자원의 비싼 획득 및 해제를 방지한다.
    + It prevents and improves the overhead incurred in allocating and releasing  other resources including memory(memory pool).

- Prototype
    + A fully initialized instance to be copied or cloned.
    + 복사 또는 복제 할 완전히 초기화된 인스턴스.

- Singleton
    + A class of which only a single instance can exist.
    + 하나의 인스턴스만 존재할 수 있는 클래스.
    + Classes that must exist only programmatically.

Abstract Factory


Builder


Factory Method


Object Pool


Prototype


Singleton



03 Structural Patterns - 구조 개선을 위한 디자인패턴

Sample

04 Behavioral Patterns - 행동 수행 개선을 위한 디자인패턴

Sample



05 참고자료

Book

  • GoF의 디자인 패턴 (재사용성을 지니 객체지향 소프트웨어의 핵심 요소) [개정판]

    • 저자 : 에릭 감마 , 리처드 헬름, 랄프 존슨, 존 블리시디스 지음 | 김정아 옮김
    • 출판사 : 프로텍미디어 | 2015년 03월 26일
  • GoF 디자인 패턴! 이렇게 활용한다: C++로 배우는 패턴의 이해와 활용

    • 저자 : 장세찬
    • 출판사 : 한빛미디어

Blog&Search

blog:코드, 패턴 그리고 소프트웨어

blog:소년코딩

blog:VallistA


WebSite

Huston Design Pattern

SourceMaking

wikipedia

TutorialsPoint


I would like to thank TutorialPoint, SourceMaking, Wikipedia, VinceHuston for providing me with resources to help me with my lack of study and for me to develop myself. I want to study design patterns and use them freely and freely for those who need it.