객체지향프로그래밍
GRASP: General Principles in Assigning Responsibilities
GRASP: General Principles in Assigning Responsibilities 란? 객체 설계와 책임 할당의 9가지 원칙을 설명한다. 도메인 내에서 어떻게 하면 적절하게 모듈을 나누고 책임을 할당할지에 대한 설계 철학이라고 할 수 있다. 1. Creator 문제 인식 : 누가 객체 A를 생성할 책임을 가질 것인가? 해결책 : 아래의 조건을 만족하는 클래스가 그 책임을 가져갈 후보가 된다. - A 객체를 포함하고 있다.(contain, aggregate) - A 객체의 정보를 기록(Record)하고 있다. - A 객체를 사용하고 있다. - A 객체가 초기화에 필요한 정보를 가지고 있다. 예를들어 아래와 같은 관계인 경우 SmartPhoneFactory가 SmartPhone객체를 생성할..