디자인 패턴(Design pattern)
객체 지향 프로그래밍 설계를 할 때 자주 발생하는 문제들을 피하기 위해 사용되는 패턴.
디자인 패턴이란 차후 유지보수성 및 수정에 관련된 사이드 이펙트 등을 최소화하기 위해 기존에 이런 문제를 회피하기 위해 어떤 방식으로 설계했는지 참고하여 진행하는 참고서라 볼 수 있다.
GoF 패턴
-
GoF(Gang of Fout)라 불리는 사람들이 23가지의 디자인 패턴을 정리하고 각각의 디자인 패턴을 생성(Creational), 구조(Structural), 행위(Behavioral) 3가지로 분류했다
-
GoF의 디자인패턴에서는 객체지향적 디자인 패턴의 카테고리를 3가지로 구분하고 있다
- 생성 패턴(Creational Pattern)
- 객체 생성에 관련된 패턴
- 객체의 생성과 조합을 캡슐화해 특정 객체가 생성되거나 변경되어도 프로그램 구조에 영향을 크게 받지 않도록 유연성을 제공
- 클래스의 인스턴스들이 어떻게 만들고 어떻게 결합하는지에 대한 부분을 완전히 가려준다
- 구조 패턴(Structural Pattern)
- 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
- 인터페이스나 구현을 복합하는 것이 아니라 객체를 합성하는 방법을 제공
- 행동 패턴(Behavioral Pattern)
- 런타임시 수행하기 어려운 복잡한 제어 구조를 패턴화시킨 것
- 객체들간 제어 구조보다 객체들을 어떻게 연결할 것인가에 중점
차후 설계시, 참조할 수 있게 하나하나 정리해나갈 예정..!
참조: