Open yepdi opened 2 years ago
객체지향 설계의 핵심은 역할, 책임, 협력 협력 : 애플리케이션의 기능을 구현하기 위해 메시지를 주고 받는 객체 책임 : 객체가 다른 다른 객체와 협력하기 위해 수행하는 행동 역할 : 대체 가능한 책임의 집합
객체지향 설계 : 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동 객체의 상태가 아니라 객체의 행동에 초점을 맞추는 것
객체의 행동
변경될 가능성이 높은 부분을 구현. 상대적으로 안정된 부분을 인터페이스 라고 한다 변경의 정도에 따라 구현과 인터페이스를 분리하고 외부에서는 인터페이스에만 의존하도록 관계를 조절
캡슐화 - 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법 -> 유지보수성
응집도 : 모듈에 포함된 내부 요소들이 연관되어 있는 정도. 모듈 내의 요소들이 하나의 목적을 위해 긴밀하게 협력한다면 높은 응집도
좋은 설계란 높은 응집도와 낮은 결합도를 가진 모듈로 구성된 설계 캡슐화의 정도가 응집도와 결합도에 영향을 미친다
객체지향 설계의 핵심은 역할, 책임, 협력 협력 : 애플리케이션의 기능을 구현하기 위해 메시지를 주고 받는 객체 책임 : 객체가 다른 다른 객체와 협력하기 위해 수행하는 행동 역할 : 대체 가능한 책임의 집합
객체지향 설계 : 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동 객체의 상태가 아니라
객체의 행동
에 초점을 맞추는 것설계 트레이드 오프
캡슐화
변경될 가능성이 높은 부분을 구현. 상대적으로 안정된 부분을 인터페이스 라고 한다 변경의 정도에 따라 구현과 인터페이스를 분리하고 외부에서는 인터페이스에만 의존하도록 관계를 조절
캡슐화 - 변경 가능성이 높은 부분을 객체 내부로 숨기는 추상화 기법 -> 유지보수성
응집도와 결합도
응집도 : 모듈에 포함된 내부 요소들이 연관되어 있는 정도. 모듈 내의 요소들이 하나의 목적을 위해 긴밀하게 협력한다면 높은 응집도
좋은 설계란 높은 응집도와 낮은 결합도를 가진 모듈로 구성된 설계 캡슐화의 정도가 응집도와 결합도에 영향을 미친다
자율적인 객체
스스로 자신의 데이터를 책임지는 객체
데이터 중심 설계의 문제점
객체의 행동보다는 상태에 초점을 둔다