이 스키마를 분석하면 단일 책임 원칙이 어떻게 존중되는지 확인할 수 있습니다. 개체 생성은 팩토리의 오른쪽에 분리되어 있으며 응용 프로그램의 주요 진입점인 하나의 액터가 하나의 책임입니다. 지속성은 또한 하단에 처리됩니다. 별도의 책임에 대한 별도의 모듈입니다. 마지막으로, 왼쪽에, 우리는 프리젠 테이션 또는 배달 메커니즘을 원하는 경우, MVC 또는 UI의 다른 유형의 형태로. SRP는 다시 존경했다. 남은 것은 비즈니스 논리 에서 무엇을 해야 할지 알아내는 것입니다. 단일 책임에 대한 코드를 리팩터링하는 데 도움이 되기 때문에 간단한 이름을 사용합니다. 함수 이름이 길다는 것은 비린내가 있다는 것을 의미합니다.
단일 책임 원칙은 개체 지향 프로그래밍에서 코드를 모듈화하는 방법을 결정하는 핵심 소프트웨어 엔지니어링 원칙입니다. 로버트 마틴에 의해 공식화하고 수년에 걸쳐 그에 의해 집 을 망치로, 원칙의 힘과 원칙의 솔리드 그룹의 S로 그것을 선포하는 그의 노력은이 에 대해 아무것도 알고 주장 하는 사람이 뭔가 귀착되 게 되었다 소프트웨어 엔지니어링에 익숙할 것입니다. 이 블로그 게시물은 우리가 우리의 매일 코딩 활동을 향상시킬 수있는 방법을 더 잘 이해하기 위해 SOLID 원칙의 단일 책임 원칙을 간단한 예로 설명합니다. 향후 게시물에서는 다른 네 가지 원칙을 다룹니다. 이 원리는 톰 데마르코와 메이리르 페이지 존스의 작품에 설명되었다. 그들은 그것을 응집력이라고 불렀습니다. 그들은 응집력을 모듈 요소의 기능적 관련성으로 정의했습니다. 코드 시스템에 필요한 모든 변경사항은 여러 지점에서 코드 본문을 변경해야 합니다.
시스템이 `같은 이유로 변경되는 것들을 함께 수집`이라는 원칙에 따라 구조화되면 변경해야 하는 모듈(클래스)의 수를 최소화할 수 있습니다. 이렇게 하면 캡슐화 경계 뒤에 가능한 한 변경 내용을 숨길 수 있으므로 변경 내용이 시스템의 나머지 부분으로 계단식으로 중단되는 것을 중지하고 손상될 수 있으므로 다시 테스트해야 하는 사항을 줄일 수 있습니다. 나는 로버트 C. 마틴에 의해 SOLID 프로그래밍 원칙의 큰 팬이다. 제 생각에 밥 삼촌은 책에서 처음 정의했을 때 훌륭한 일을 했습니다. 특히, 저는 단일 책임 원칙이 이러한 원칙 들 중 가장 강력한 원칙 중 하나이지만 가장 오해의 소지가 있다고 생각했습니다. 그 정의는 그것을 적용하는 방법에 대한 엄격한 세부 사항을 제공하지 않습니다. 모든 개발자는 자신의 경험과 지식을 통해 책임이 무엇인지 정의해야 합니다.