우리는 좋은 소프트웨어 시스템을 개발하기 위해 좋은 설계를 하고자 합니다. 좋은 설계란 무엇일까요?다양한 사람들의 의견을 모아본 바는 다음과 같습니다."낮은 결합도와 높은 응집도를 지향하는 것""유지보수가 쉬운 시스템을 만드는 것""변화를 손쉽게 받아들일 수 있도록 하는 것" 서비스를 지속하고 가치를 창출하기 위해서는 하나의 애플리케이션 개발을 마치고 방치하는 것이 아니라, 지속적으로 유지하고 확장해나가야 합니다.이 과정에서 코드를 추가하거나 기존 코드를 수정해야하는 일이 종종 발생하곤 할겁니다.하지만 유지보수 및 확장 단계에서 다른 사람이 작성한 코드가 이해가 안되거나, 너무 많은 기존의 코드를 건드려야하게 되는 상황을 맞게 된다면 어떨까요?많은 사람들이 좋은 설계의 정의를 위와 같이 내린 이유를 이..