- 객체지향에서 역할과 책임이 중요한것처럼 의존성을 어떻게 관리하는지도 중요하다.
- 의존성의 개념
2. 코드를 어떻게 배치할 것인가?
3. 어떤 프로젝트,패키지,클래스에 어떤 코드를 작성할 것인가?
4. 변경에 의한 영향
5. 클래스 의존성의 종류
- 연관관계 : 영구적으로 (위임처럼)객체 참조가 있다.
- 의존관계 : 일시적으로 파라미터에 그 타입이 나오거나, 메소드 안에서 그 타입의 인스턴스를 생성하는 경우
- 상속관계
- 실체화관계
- 설계 방법
- 양방향 의존성을 피하라
- 다중성이 적은 방향을 선택하라 : 일대다가 아닌 다대일이 좋다.
- 의존성이 필요없다면 제거하라
- 패키지 사이의 의존성 사이클을 제거하라
- 변경에 의한 영향
- A가 B에 의존할 때 B가 변경될 때 A도 함께 변경될 수 있다.
- 설계를 잘하면 영향을 주지 않을 수 있다.
가게 선택 -> 메뉴 선택 -> 장바구니 담기 -> 주문완료