유일하게 변하지 않는 것은 모든 것이 변한다는 사실 뿐이다 - 헤라클레이토스 위와 같은 인용문구를 통해 애플리케이션을 개발할때 신경써야 하는 부분은 애플리케이션을 개발함에 있어 사용자의 요구사항은 언제든지 변할 수 있고 그 변화에 대응할 수 있도록 객체지향적 설계를 해야 한다 라는 것입니다. 자주 변경되는 기능이 아니라 안정적인 구조를 따라 역할, 책임, 협력을 구성하여 객체지향 설계를 해야 합니다. 기능 설계 대 구조 설계 기능 설계 - 제품이 사용자를 위해 무엇을 할 수 있는지에 초점을 맞추어 설계 하는것 - 사용자에게 제공할 기능 구조 설계 - 제품의 형태가 어떠해야 하는지에 대해 초점을 맞추어 설계 하는것 - 기능을 담을 안정적인 구조 설계는 기능, 구조 설계 이 두가지를 조화롭게 이루도록 설계를..