디자인 패턴(Design Pattern)
- 디자인 패턴은 많은 개발자가 소프트웨어적인 문제를 코드로 구현할 때 적용했던 해결 방법을 패턴화하여 정리한 것입니다.
- 따라서 디자인 패턴은 지금도 꾸준히 발전하고 있으며 새로운 패턴들이 등장하기도 합니다.
- 디자인 패턴을 공부하면 좋은 점이 객체지향 개발에 도움이 되기도 하지만, 개발자 간에 의사소통에도 도움이 됩니다.
SOLID 원칙
- 다양한 디자인 패턴들이 존재하지만, 이들의 공통점은 객체지향 개발 방법을 패턴화하였다는 점입니다.
- 디자인 패턴 외에도 객체지향 코드 개발 시 가급적이면 지켜야 할 원칙이 있습니다. 이러한 원칙을 SOLID 원칙이라고 부르기도 합니다.
- 단일 책임의 원칙(Single responsibility principle, SRP)
- 개방 폐쇄 원칙(Open/closed principle, OCP)
- 리스코프 치환 원칙(Liskov substitution principle, LSP)
- 인터페이스 분리의 원칙(Interface segregation principle, ISP)
- 의존 관계 역전의 원칙(Dependency inversion principle, DIP)
디자인 패턴의 종류
디자인 패턴은 크게 3개의 파트로 구분합니다.
객체를 어떻게 만들고, 어떻게 더 큰 객체로 확장하며, 객체는 어떻게 목적을 수행하는지? 로 구분합니다.
이를 목록과 함께 어떤 패턴들이 있는지 살펴보면 다음과 같습니다. (가장 많이 사용되는 패턴은 볼드체로 표시하였습니다.)
생성 패턴(Creational Patterns)
구조 패턴(Structural Patterns)
행동 패턴(Behavioral Patterns)
블로그에서..
- 앞서 나열한 디자인 패턴들을
C++
언어로 작성하여 설명할 계획입니다. - Github Repo Link