설계 2

객체지향 분석 설계(OOA&D) 개발방법

1. 여러분의 소프트웨어가 고객이 원하는 기능을 하도록 하세요. 2. 객체지향의 기본원리를 적용해서 소프트웨어를 유연하게 하세요. 3. 유지보수와 재사용이 쉬운 디자인을 위해 노력하세요. 고객은 프로그램이 동작할 때 만족스러워 합니다. 고객은 프로그램이 계속 잘 동작할 때 만족스러워 합니다. 고객은 프로그램이 업그레이드가 가능할 때 만족해 합니다. 프로그래머는 자신의 프로그램이 재사용될 수 있을 때 만족스러워 합니다. 프로그래머는 자신의 프로그램이 유연할 때 만족스러워 합니다.

디자인 원칙

* 1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로부터 분리 시킨다. "바뀌는 부분은 따로 뽑아서 캡슐화시킨다. 그렇게 하면 나중에 바뀌지 않는 부분에는 영향을 미치지 않은 채로 그 부분만 고치거나 확장할 수 있다" - 모든 패턴은 '시스템의 일부분을 다른 부분과 독립적으로 변화시킬 수 있는 방법' 을 제공하기 위함 2. 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 3. 상속보다는 구성을 활용한다. 4. 서로 상호작용을 하는 객체 사이에서는 가능하면 느슨하게 결합하는 디자인을 사용해야 한다. - 느슨하게 결합하는 디자인을 사용하면 변경 사항이 생겨도 무난히 처리할 수 있는 유연한 객체지향 시스템을 구축할 수 있다. 객체 사이의 상호의존성을 최소화할 수 있기 때문이다. * 5...