디자인 패턴이란, 개발자들이 어떠한 상황에서 어떠한 방식으로 설계를 하면 좋은지를 정리해놓은 것이다
디자인패턴은 크게 생성 / 구조 / 행위 로 나누어진다
Coupling
양쪽 코드 중에서 한 쪽이 없으면 코드를 이해할 수 없을 때 둘이 커플링되어있다고 본다
양쪽 코드 중에서 한쪽을 삭제했을 때 다른 한쪽에 문제가 발생한다면 둘이 커플링 되어있다고 본다
DeCoupling
커플링을 해제하는 것
커플링이 적은 코드일수록 변경이 나머지 게임 코드에 미치는 영향이 적다
생성
Builder
Prototype
Factory Method
Abstract Factory
Singleton
구조
Bridge
Decorator
Facade
Flyweight
Proxy
Composite
Adapter
행위
Mediator
Interpretor
Iterator
Template Method
Observer
State
Visitor
Command
Strategy
Memento
Chain of Responsibility