Thief of Wealth
Published 2022. 5. 21. 22:13
[오브젝트] 4장 개발/Web Programming
객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다.

 

 

위 문구에서 2가지 사실을 추출할 수 있다.

1. 객체지향 설계의 핵심은 [책임]이다.

2. 책임을 할당하는 작업은 [응집도]와 [결합도]와 같은 설계품질과 깊이 연관되어 있다.

 

 

응집도

모듈에 포함된 내부요소들이 연관되어있는 정도.

모듈 내의 요소들이 하나의 목적을 위해서 긴밀하게 협력한다면 높은 응집도를 가진다.

모듈 내의 요소들이 서로 다른 목적을 추구한다면 낮은 응집도를 가진다.

응집도가 높은 설계에서는 하나의 요구사항 변경을 반영하기위해서 하나의 모듈만 수정하면된다.

 

결합도

다른 모듈에 대해 얼마나 많은 지식을 갖고 있는지 정도.

어떤 모듈이 다른 모듈에 대해서 너무 자세한 부분까지 알고 있다면 두 모듈은 높은 결합도를 지닌다.

어떤 모듈이 다른 모듈에 대해서 꼭 필요한 지식만 알고 있다면 두 모듈은 낮은 결합도를 가진다.

하나의 모듈을 수정할때 얼마나 많은 모듈을 함께 수정하는지도 알 수 있다.

 

 

데이터 중심설계는 다음과 같은 문제가 있다.

- 캡슐화 위반

- 높은 결합도

- 낮은 응집도

 

책임을 중심으로 설계하자!

profile on loading

Loading...