생성 구조 행동 연관성을 알아내는데 도움
패턴들간의 참조 관계를 이용
패턴 마다 관련된 패턴을 정의는데
어떻게 다른 패턴들과 결합되었는지, 어떤 패턴들이 서로 잘 작용하는지 알아내는 통찰력 제공
문제 중심으로 패턴에 접근
재사용 가능한 객체지향 소프트웨어를 개발하면서
일어나는 일반적인 문제들을 이해하고 난 후
이런 문제들응 해결하는 패턴을 찾아 읽는 것
가장 일반적인 패턴
추상 팩토리 패턴
팩토리 메서드 패턴
적응자 패턴
감시자 패턴
복합체 패턴
전략 패턴
장식자 패턴
템플릿 메서드 패턴
"유연하고 재사용가능한 설계를 처음부터 정확하게 하기는 불가능 매우 어렵"
"전문가들은 초보자처럼 모든 문제를 처음 기초단계에서 해결하려고 하지 않는다. 전에 사열했던 해결책을 다시 사용"
"결국에는 많은 객체디향 시스템에서 클래스 패턴이나 객체들의 상호 작용 방식이 반복됨"
반복된 패턴들은 특정 설계의 문제점들을 해결
유연, 근사 재사용가능한 객체지향 소프트웨어를 만듬
이전경험을 새 설계에 기본으로 삼아 설계들을 성공적으로 재사용 할수있도록 도와준다
재사용을 기반에 둔 설계에 익숙한 사람들은 패턴을 자신의 설계에 즉시 응용
"디자인 패턴
방식을 통해 소프트웨어 설계에서 얻은 세세한 경험들을 기록해 놓도록 하는 것 "
객체지향의 방식의 이름을 지어주고 설명하며 중요하고 반복되는 설계를 평가
패턴을 쓰면 이미 만든 시스템의 유지보수나 문서화 개선 클래스의, 명세 정확, 객체간의 상호작용 또는 설계의 의도등 까지 명확하게 정의
설계자들이 "올바른" 설계를 빨리 만들수 있도록
동시성, 분산 프로그래밍, 실시간 프로그래밍, 특정응용프로그램에 종속적인 패턴
각 디자인패턴은 기존환경내에서 반본적으로 일어나는 문제들을 설명한 후, 그 문제들에 대한 해법의 핵심을 설명
패턴을 "어떤 상황이나 문제에 대한 해법"
'Back-end > 디자인패턴' 카테고리의 다른 글
MVC 패턴 (0) | 2021.04.23 |
---|---|
OCP 와 전략 패턴 (0) | 2021.04.23 |