본문 바로가기
CS

[디자인패턴] GoF Pattern 요약정리와 패턴 별 활용 알아보기

by Warehaus 2022. 8. 11.

 

요즘 디자인 패턴을 전체적으로 훑어보는 공부를 하고있습니다.

 

너무나 급변하는 세상이라 쫓아갈 것들이 많지만..

디자인 패턴은 개발자에게는 거의 근본 그 자체라고 생각하기에

가끔 씩 돌아볼 수 밖에 없습니다.

 

사실 개발 좀 한다고는 하지만 라이브러리나 전반적인 설계가

어떻게 돌아가는지 모르는 사람들도 너무나 많은데요.

 

이런 부분을 신경쓰지 않아도 될 정도로 세상이 좋아졌고

시민개발자라는 말이 나올 정도로 소프트웨어 개발의 접근성이 높아졌지만

그래도 업에 종사하는 사람이라면

이 정도는 소양으로 알아둬야 될 것 같다는 느낌을 지울수가 없습니다.

 

아직 공부할 것들이 천지지만.. 하나 씩 포스팅으로 정리해 보려고 합니다.

 

 

우선 디자인 패턴은 크게 생성, 구조, 행위 패턴으로 나뉘며

각 패턴은 목적을 클래스 범위 또는 객체 범위 내에서 해결 방법을 제시합니다.

 

  목적
생성 구조 행위
범위 클래스 Factory method Adaptor Interpreter
Template
객체 Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facede
Flyweight
Proxy
CoR
Command
Iterator
Mediator
Memento
Observer
State
Strategy
Visitor

 

다음은 각 패턴 유형별 세부 내용입니다.

 

 

생성


Defer object creation to another class or object.

 

클래스 범위

 

Factory Method

 

객체 범위

 

Abstract Factory Method

 

Prototype

 

Singleton

 

Builder

 

[디자인패턴] 빌더패턴(Builder Pattern) 개념 및 특징

의도 빌더패턴을 사용하기 위한 의도는 다음과 같습니다. 복잡한 객체를 생성하는 방법과 표현하는 방법을 정의하는 클래스를 별도로 분리, 서로 다른 표현도 같은 공정활용을 목적으로 하는

armin.tistory.com

 

 

구조


Describe ways to assemble objects

 

클래스 범위

 

Adapter

 

객체 범위

 

Composite

Adapter

Bridge

Decorator

Facade

Flyweight

Proxy

 

행위


Address problems of assigning responsibilities

 

클래스 범위

 

Template

 

[디자인패턴] 템플릿 메서드 패턴(Template Method Pattern) 개념 요약정리

[디자인패턴] GoF Pattern 요약정리와 패턴 별 활용 알아보기 요즘 디자인 패턴을 전체적으로 훑어보는 공부를 하고있습니다. 너무나 급변하는 세상이라 쫓아갈 것들이 많지만.. 디자인 패턴은 개

armin.tistory.com

 

 

Interpreter

 

객체 범위

 

Command

 

Iterator

 

2022.08.17 - [CS] - [디자인패턴] 반복자 (Iterator) 패턴의 개념 및 구조 요약정리

 

Mediator

 

Memento

 

Observer

 

State

 

Strategy

 

[디자인패턴] 전략패턴(Startegy Pattern) 개념 및 특징

의도 어떤 행동을 수행하기 위한 캡슐화된 알고리즘을 정의하고 이를 전략적으로 변경하면서 활용하기 위해 사용하는 패턴 활용 - 조건문을 이용한 알고리즘 변경으로 인한 유리관리의 어려움

armin.tistory.com

 

Visitor

 

CoR