[Design Pattern] 시작하기

2023. 1. 29. 17:48·CS/Design Pattern

최근 인터랙티브 무비 개발을 하면서 클래스 간의 관계를 맺고 정리하는 부분에서 부족함을 느꼈다.

이 부분의 발전을 위해서 디자인 패턴을 공부해보기로 했다.

 

https://www.youtube.com/watch?v=An7kqZ5D7j8&list=PLe6NQuuFBu7FhPfxkjDd2cWnTy2y_w_jZ 

디자인 패턴: 패턴처럼 자주 나타나는 클래스 사이에 관계를 맺는 방법

 

하나의 클래스가 많은 기능을 갖는 것은 바람직하지 않다. 한 클래스의 역할은 하나 내지는 최소한인 것이 좋다.

이렇게 하면 문제 발생 시 코드 수정/유지보수가 편하고 새로운 기능 추가하기에도 편하기 때문이다.

 

GoF개발자분들이 만든 디자인 패턴이 가장 대표적이다.

GoF는 객체지향 문제점을 분석해 카탈로그화 하여 아래와 같이 패턴으로 정리했다. 

이렇게 카탈로그화 된 패턴은 시스템 유지보수에 유용하고 객체 간 상호작용, 설계 의도를 금방 확인할 수 있어 유용하다.

협업이 많은 경우 통일된 개발 방식을 공유하는 것이 중요하다. 팀원간에 개발 방식에 차이가 있으면 최종 결과로 합치기가 어렵기 때문이다.

디자인 패턴을 통해 이와 같은 문제를 어느정도 해결하고 통일화 된 코드를 작성할 수 있다.

 

GoF 23개의 패턴(생성패턴5, 구조패턴7, 행위패턴11)

생성 패턴 구조 패턴 행위 패턴
Factory Method
Abstract Factory
Builder
Prototype
Singleton
Adapter
Bridge
Composite
Decorator
Facade
Flyweight
Proxy
Interpreter
Template Method
Chain of Responsibility
Command
Iterator
Mediator
Memento
Observer
Strategy
Visitor

 

 

'CS > Design Pattern' 카테고리의 다른 글

[Design Pattern] GoF 디자인 패턴 개념 간단 정리  (0) 2023.03.01
[Design Pattern] Iterator 반복자 패턴  (0) 2023.01.29
'CS/Design Pattern' 카테고리의 다른 글
  • [Design Pattern] GoF 디자인 패턴 개념 간단 정리
  • [Design Pattern] Iterator 반복자 패턴
LOGPOSE 로그포스
LOGPOSE 로그포스
다음 섬으로 향하고자 이번 섬을 기록하는 특수한 나침반
  • LOGPOSE 로그포스
    LOGPOSE
    LOGPOSE 로그포스
  • 전체
    오늘
    어제
    • 분류 전체보기 (135)
      • [Unity] Projects & Study (27)
        • VR 멀티 항만 시뮬레이션 게임 (1)
        • HandiLab - AR 과학 실험 (10)
        • 우물 속에서 - VR 공포 게임 (2)
        • Loop - Interactive Movie (8)
        • Simple Platformer Game (4)
      • CS (67)
        • Algorithm & Data Structure (23)
        • Design Pattern (3)
        • Computer Graphics (23)
        • OS (16)
      • Java (9)
      • Cloud (3)
      • Docker (4)
      • Spring (2)
      • AWS (3)
      • LLM (3)
      • Kubernetes (6)
      • Programming Paradigm (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    개발
    Unity
    선언형 프로그래밍
    함수형 프로그래밍
    Unity AR
    함수형
    Photon
    ovr
    Unity앱개발
    VR게임
    2D
    프로그래밍 패러다임
    VR
    AR
    함수형 패러다임
    game
    VR멀티게임
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.6
LOGPOSE 로그포스
[Design Pattern] 시작하기
상단으로

티스토리툴바