예지의 테크 로그포스 (Yeji's Tech Log Force)
[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 |
Comments