
개발을 설계할 때 SOLID원칙, 객체지향적 소프트웨어 설계 방법론 등을 고려하며 설계 해야한다.
디자인 패턴은 설계자로 하여금 재사용이 가능한 설계는 선택하고, 재사용을 방해하는 설계는 배제하도록 도와준다. 또한 패턴을 쓰면 이미 만든 시스템의 유지보수나 문서화도 개선할 수 있고, 클래스의 명세도 정확하게 할 수 있으며, 객체간의 상호작용 또는 설계 의도까지 명확하게 할 수 있다.
- 특정 한두개의 패턴을 외우기 보다는 다양하게 이해를 하고 적시적소에 맞게 자신의 코드에 녹여내자.
디자인 패턴이란 기존 환경 내에서 반복적으로 일어나는 문제들을 어떻게 풀어 나갈것인가에 대한 일종의 솔루션 같은 것이다. [Gof의 디자인 패턴]에서는 객체지향적 디자인 패턴의 카테고리를 "생성패턴(Creational Pattern)", "구조패턴(Structural Pattern)", "행동패턴(Behavioral Pattern)"3가지로 구분하고 있습니다.

출처: Ready kim님 블로그