앞으로 다양한 디자인패턴에 대해서 정리해볼 것이다 !
디자인패턴에 정리하기 이전에 미리 정리해두면 좋을 것들이 두 가지 있다. 그 중 첫 번째로 디자인패턴이란 무엇인지, 그 목적은 무엇인지 등과 같은 디자인 패턴의 개요에 대해서 정리한다.
먼저 디자인 패턴이란 무엇인지 알아보자 !
디자인패턴이란 ?
소프트웨어를 설계할 때, 특정한 상황에서 자주 발생하는 고질적인 문제들이 있다. 이러한 문제가 발생했을 때 재사용할 수 있는 해결책을 말한다.
- 디자인 패턴은 일종의 설계 방법 / 기법으로 구현을 말하지 않는다. ( Just 아이디어 ! )
그렇다면 디자인패턴에서 패턴이란 말이 의미하는 것은 무엇일까 ?
패턴이란 ?
다양한 분야와 범위의 개발에 있어서 공통되는 설계 문제가 존재한다. 또한 이를 처리하는 해결책들 역시 공통점이 존재한다. 이러한 유사점을 패턴이라고 한다.
- 패턴은 일종의 공통의 언어와 정의이다. 이를 통해 의사소통에 도움을 받을 수 있다.
디자인패턴이 무엇인지 이해를 마쳤다 ! 이제 이런 디자인패턴이 왜 필요한지 그 목적에 대해서 정리할 것이다. 디자인패턴은 소프트웨어 개발에 있어서 중요한 고려 대상들인 재사용성, 호환성, 유지보수성을 높이는 것을 목적으로 한다.
이러한 디자인 패턴은 GoF에 의해 크게 세 가지로 분류될 수 있다.
1. 생성패턴 : 객체 생성과 관련된 패턴으로, 객체의 생성 방식을 결정한다.
2. 구조패턴 : 클래스나 객체간의 관계를 조직하는 패턴으로, 클래스나 객체를 조합하여 구조를 만든다.
3. 행위패턴 : 클래스나 객체의 행위를 조직, 관리하는 패턴이다. 즉, 클래스나 객체 사이의 책임 분배와 관련된 패턴이다.
다음 포스팅에서는 각 디자인패턴에 대해서 정리하기 이전에 미리 정리해두면 좋을 그 두 번째 ! SOLID 원리에 대해서 정리할 것이다 !