
소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 일반적인 해결책이다. 반복되는 디자인 문제들을 해결하기 위해 맞춤화할 수 있는 미리 만들어진 청사진과 같다.
패턴이 필수는 아닐 수 있다. 그러나 객체 지향 디자인의 일반적인 문제들에 대해 시도되고 검증된 해결책으로 문제 해결 방법을 배울 수 있다. 가독성 향상 및 코드의 유지 보수에 용이하고 팀원과의 의사소통에 효율적이다.
많은 초보자들이 패턴을 학습 후, 간단한 코드에도 적용하려 노력할 수 있다.
기존 코드의 재활용과 유연성을 증가시키는 객체 생성 메커니즘이다.
구조를 유연하고 효율적으로 유지하면서 객체와 클래스를 더 큰 구조로 조합하는 방법이다.
객체 간의 효과적인 의사소통과 책임 할당을 다룬다.
멋져요