객체지향적 프로그래밍이 활발해지면서 재사용 관점에서 상호간의 커뮤니케이션이 더욱 중요해짐. 이에따라 잠재적 문제가 될 수 있는 위험을 최소화 하고자 프로토콜(규약)이 만들어진 것 같다고 함.
GoF에서는 23가지 디자인 패턴을 3가지 유형으로 분류
- 객체를 생성하는데 관련된 패턴들
- 클라이언트와 그 클라이언트가 생성해야 하는 객체 인스턴스 사이의 연결을 끊어 주는 패턴
- 객체가 생성되는 과정의 유연성을 높이고 손쉬운 코드의 유지
- 프로그램 구조에 관련된 패턴들
- 프로그램 내의 자료구조 또는 인터페이스 구조 등 프로그램의 구조를 설계하는데 활용 가능한 패턴들
- 클래스나 객체를 조합해 더 큰 구조를 만드는 패턴
- 반복적으로 사용되는 객체들의 상호작용을 패턴화한 것들
- 결합도를 최소화하는 것에 중점
- 인스턴스(클래스) 사이에 알고리즘이나 책임 분배에 관련한 패턴
출처:
https://m.hanbit.co.kr/channel/category/category_view.html?cms_code=CMS8616098823