최근에 디자인 패턴에 대해 다시 보고 있는 내용들을 블로그에 정리하여 본다.
■ GoF
먼저 GoF(Gang of Four)에 대해 얘기가 필요할 것 같다.
『Design Patterns: Elements of Reusable Object-Oriented Software』 제목의 책이 Addison-Wesley를 통해 1994년에 출판되었다. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides가 같이 썼으며 이 책의 저자 4명을 GoF라 얘기한다. 객체지향 설계 이론과 실천에 있어 중요한 원천이 되는 책이며 이후 프로그래밍 언어 디자인에 대해 막대한 영향을 끼쳤다.
GoF의 디자인 패턴중 많이 알려지고 사용되는 패턴들을 정리해보고자 한다.
■ Design Patterns
객체 지향 설계를 하다 보면, 이전과 비슷한 상황에서 사용했던 설계를 재사용하는 경우가 종종 발생한다. 이러한 설계는 특정 상황에 맞는 해결책을 빠르게 찾을 수 있도록 도와준다. 반복적으로 사용되는 설계는 클래스, 객체의 구성, 객체 간 의 메시지 흐름에서 일정 패턴을 갖는다. 각 패턴의 장단점을 통해서 설계를 선택하는데 도움을 얻을 수 있으며, 상황에 맞는 올바른 설계를 더 빠르게 적용할 수 있다.
설계 패턴에 이름을 붙임으로써 시스템의 문서화, 이해, 유지 보수에 도움을 준다. 개발자들끼리 패턴으로 대화를 하면 구조를 쉽게 이해할 수 있다.(나는 이 부분을 이런 패턴을 적용해 개발하고 있다)
GoF에서는 23가지의 디자인 패턴이 있으며, 첫번째, 패턴이 하는 일에 대해 목적(Purpose)으로 구분하고, 두 번째로 compile-time이냐 run-time이냐에 따른 적용 범위(Scope)으로 구분한다.
※ 참고 자료
1) https://en.wikipedia.org/wiki/Design_Patterns
2) 『Design Patterns: Elements of Reusable Object-Oriented Software』 (Addison-Wesley, 1994)
'DEV' 카테고리의 다른 글
Design Patterns - 3. Singleton Pattern (0) | 2021.10.06 |
---|---|
Design Patterns - 2. Factory Method Pattern (0) | 2021.10.06 |
Scouter - 설치 (0) | 2021.09.28 |
GitLab - 프로젝트에 멤버 추가하기 (0) | 2020.04.14 |
Linux - CentOS - 한글 로케일 EUC-KR 설정 (0) | 2017.06.19 |