srp 원칙 예제

srp 원칙 예제

자체를 저장할 수 있는 개체인 클래식 예제부터 시작해 보겠습니다. 우리가 작성해야 하는 소프트웨어에 대해 생각할 때, 우리는 많은 다른 측면을 분석할 수 있습니다. 예를 들어 동일한 클래스에 영향을 미치는 여러 요구 사항은 변경 축을 나타낼 수 있습니다. 이러한 변화의 축은 하나의 책임에 대한 단서가 될 수 있습니다. 동일한 함수 그룹에 영향을 주는 요구 사항 그룹은 처음에 변경하거나 지정해야 할 이유가 있을 가능성이 높습니다. 로버트 시 마틴이 단일 책임 원칙의 정의에서 시작하여, 우리는 그것을 오해하는 것이 얼마나 간단한지를 보여 주었습니다. 좀 더 공식적인 정의를 제공하기 위해, 우리는 응집력의 개념의 관점에서 원리를 볼 수있는 방법을 보여 주었다. 마지막으로, 우리는 우리가 한 일에 대한 수학적 증거를 제공하려고 노력하지만, 우리가 사용하고 있던 프레임 워크가 불완전하다는 결론에 도달했습니다. 이러한 맥락에서 책임은 변화하는 한 가지 이유로 간주됩니다. 이 원칙에 따르면 클래스에 대해 변경해야 하는 2가지 이유가 있는 경우 두 클래스로 기능을 분할해야 합니다. 각 클래스는 하나의 책임만 처리하며, 미래에 한 가지 변경을 해야 하는 경우 이를 처리하는 클래스에서 변경해야 합니다. 더 많은 책임을 갖는 클래스를 변경해야 할 때 변경은 클래스의 다른 책임과 관련된 다른 기능에 영향을 줄 수 있습니다. 실제로 이 결과의 좋은 예는 이 StackExchange 질문에 설명되어 있습니다.

저자는 자신이 작업중인 코드 베이스가 어떻게 이해하고 디버깅하기 어려워졌는지, 클래스 조각이 통신 할 수 있도록 모든 것을 공개해야하는 필요성으로 캡슐화가 파괴된 방법 및 종속성을 사용하는 방법에 대해 설명합니다. 주사는 어떤 일을 끝내기 위하여 이렇게 많은 현미경 서비스를 주입하는 것을 해서 비현실적으로 만들어졌습니다. 그래서 우리가 지금 있는 곳은 소프트웨어 엔지니어링 세계에서 주어진 규칙을 따르는 사람들이 생각할 것입니다, 당신은 너무 작은 클래스를 가질 수 없습니다. 이것은 당신이 일방통행 거리라고 부를 수있는 것입니다. 현재 소프트웨어 엔지니어링에는 이러한 추세가 많이 있으며 모두 걱정하고 있습니다. 이 한 가지 방법으로 거리는 원리의 창시자가 실제로 말한 대로 돌아갈 때 제자들보다 더 미묘하고 균형 잡힌 경우가 많다는 것을 알게 되었습니다. 그래서 저는 로버트 마틴이 실제로 말하는 것을 자세히 살펴보기 위해 돌아갔습니다. 단일 책임 원칙은 개체 지향 프로그래밍에서 코드를 모듈화하는 방법을 결정하는 핵심 소프트웨어 엔지니어링 원칙입니다. 로버트 마틴에 의해 공식화하고 수년에 걸쳐 그에 의해 집 을 망치로, 원칙의 힘과 원칙의 솔리드 그룹의 S로 그것을 선포하는 그의 노력은이 에 대해 아무것도 알고 주장 하는 사람이 뭔가 귀착되 게 되었다 소프트웨어 엔지니어링에 익숙할 것입니다. 나는 로버트 C. 마틴에 의해 SOLID 프로그래밍 원칙의 큰 팬이다. 제 생각에 밥 삼촌은 책에서 처음 정의했을 때 훌륭한 일을 했습니다.

0

You may also like