설계 품질과 트레이드오프
객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동이다. 적절한 비용 안에서 쉽게 변경할 수 있는 설계는 응집도가 높고 서로 느슨하게 결합되어 있다. 중요한 것은 객체의 상태가 아닌, 객체의 행동에 초점을 맞추는 것이다. 객체 지향 설계는 두가지 방법이 있다. 첫 번째 방법은 상태(데이터)를 분할의 중심축으로 삼는 방법이고, 두번째 방법은 책임을 분할의 중심축으로 삼는 방법이다. 객체지향 설계는 상태(데이터)가 아니라 책임에 초점을 맞춰야 한다. 객체의 상태는 구현에 속하기 때문이다. 허나 책임은 인터페이스에 속한다. 인터페이스(책임) 뒤로 구현(상태)을 갭출화해야 안정적인 설계를 얻을 수 있다. 즉, 데이터를 중심으로 설계하면 안 된다. 이 ..
2023.10.01