책임의 분리 객체 지향 설계의 5가지 원칙에 해당하는 SRP(Single Responsibility Principle; 단일 책임 원칙)에 따라, 각각의 메소드와 모듈들은 한가지 기능만을 가지고 있다. 이에 따라 구현한 메소드와 모듈을 테스트 하기 위해 각각 대응하는 테스트 코드를 작성해야 한다. 이를 단위 테스팅이라 부른다. 단위 테스팅을 작성함으로써 각 메소드는 하나의 기능을 가질 수 있게 되고, 책임을 분리시킬 수 있다. 용이한 유지 보수 우리에겐 본코드 상에서의 디버깅이라는 더욱 직관적인 해결책이 있다. 하지만 애플리케이션의 요구사항이 바뀌어 기능을 부분적으로 수정해야 될 상황이라면, 긴밀하게 관계를 지어 작동하는 모듈들 사이에서 트래킹을 통해 디버깅 하기에는 무리가 있을것이다. 애플리케이션 아키..