디자인 패턴
- Design Pattern
- 객체 지향 프로그래밍 설계를 할 때, 자주 발생하는 문제들을 피하기 위해 사용되는 패턴
- 구성요소
- 패턴의 이름
- 문제 및 배경
- 솔루션
- 사례
- 결과
- 샘플코드
- 유형
- 목적
- 생성
- 객체, 인스턴스 생성에 관해 클래스 정의와 객체 생성 방식 구조화 캡슐화를 수행하는 패턴
- 구조
- 더 큰 구조 형성 목적으로 클래스와 객체의 조합을 다루는 패턴
- 행위
- 클래스 나 객체들이 상호작용하는 방법과 역할을 분담하는 패턴
- 범위
- 클래스
- 클래스 간 관련성
- 컴파일 타임에 정적으로 결정
- 객체
- 런타임에 동적으로 결정
- 객체간 관련성을 다루는 패턴
- 디자인 패턴 종류
- 디자인 패턴의 장단점
- 장점
- 요구사항 변경에 따른 소스 코드 변경을 최소화할 수 있게 해줌
- 설계 변경 요청에 대한 유연한 대처가 가능
- 범용적인 코딩 스타일 적용 가능
- 개발자 간의 원활한 의사소통 가능
- 재사용을 통한 개발 시간 단축 가능
- 소프트웨어 구조 파악 용이
- 객체지향 설계 및 구현의 생산성을 높이는데 적합
- 단점
- 객체지향 설계/구현 위주로 사용
- 초기 투자 비용의 부담