위키 백과는 Single Responsibility Principle이 방법을 설명합니다MVC에서 컨트롤러를 전통적인 방식으로 사용하면 Single Responsibility Principle이 위반됩니까?
원리는 모든 객체가 하나의 책임이 있어야하고, 그 책임은 전적으로 클래스로 캡슐화해야한다고 단일 책임. 모든 서비스는 그 책임과 협의해야합니다.
MVC에서 컨트롤러를 사용하면 프로그래머가이 원칙을 위반하게됩니다. 간단한 방명록 컨트롤러 및보기. 컨트롤러는 두 가지 메소드/액션을 가질 수 있습니다 : 1) Index()와 2) Submit(). Index()는 양식을 표시합니다. Submit()는 처리합니다. 이 두 가지 방법이 서로 다른 두 가지 책임을 나타 냅니까? 그렇다면 단일 책임은 어떻게 실행됩니까?
나는 그것이 MVC 패턴을 위반하지 않는다는 것에 동의하지만 그것은 새로운 사용자 관련 조치를 어디에 넣을 것인가? 왜, 물론 UserController에서. 조만간 그것은 통제 불능 상태에 이르며, 서로에게 의존성이없는 행동 방식으로 채워지지만 편리하기 때문에 그룹화됩니다. 저는 컨트롤러를 없애고 액션을 네임 스페이스로 그룹화하는 것에 대한 토론을하기 위해 [여기] (https://gist.github.com/mindplay-dk/5505023) 토론을 시작했습니다. –