바보는 컴퓨터가 이해할 수있는 코드를 작성할 수 있습니다. 좋은 프로그래머는 인간이 이해할 수있는 코드를 작성합니다. --Martin 파울러는 [source]
나는 한 페이지이었다 기존 ASP에서 응용 프로그램을 본 기억이. 입력 된 매개 변수에 따라 다르게 렌더링됩니다. 이론적으로 ASP.NET MVC에서도 동일한 작업을 수행 할 수 있습니다.보기가 많은 단일 컨트롤러를 만들거나 컨트롤러 입력에 따라 변경되는 단일보기를 악화시킬 수 있습니다.
부여 된 수퍼 컨트롤러는 작업을 작업으로 나눕니다. 그러나 상관없이, 당신은 여전히 큰 것을 가지고 일하고 있습니다.
첫 번째 SOLID Principle은 단일 책임입니다. 모듈에는 변경해야 할 이유가 하나만 있어야합니다. 큰 컨트롤러는 나에게 두 가지를 알려줍니다
- 그것은 너무 많은
- 행동이 가지고 함께 참여하고 너무 많은 로직
수행하는 컨트롤러가 너무 많은이 있기 때문에이 두 SRP 위반이다 변화해야 할 한 가지 이유. 논리를 변경하거나 상호 작용하는 객체가 변경 될 때 너무 많이 수행해야하는 동작은 변경해야합니다.
나에게 컨트롤러 액션은 서비스 (인터페이스, 웹 서비스 등)에 대한 함수를 호출하고 그 호출 결과를 반환해야합니다. 대부분의 컨트롤러 동작은 무려 두 줄의 코드입니다. 그리고 내 컨트롤러의 대부분은 그들이하는 일에 매우 집중하고 있습니다.
일반적으로 한 클래스 (글꼴 크기 및/또는 해상도에 따라 약 200 줄)에 두 페이지 이상 스크롤해야 할 때 불편합니다. 실제 길이보다 더 중요한 것은 컨트롤러에 얼마나 많은 책임이 있는지입니다. 책임을 최소화하고 파일 크기를 자동으로 줄입니다.
맨 처음 문장에 못 박았습니다. 코드 크기가 성능에 거의 영향을 미치지 않는다고 말할 것도없고, 성능이 전혀 문제가되지 않아야합니다. 그렇다면 완전히 다른 세분화로 수행됩니다.) 그리고 자신의 질문에 답했습니다. – delnan
@delnan - 의견을 주셔서 감사합니다, 내 주요 관심사는 웹 응용 프로그램과 관련된 문제 일 수 있습니다. –
이것은 건설적인 질문입니다 ... thum의 좋은 규칙이 무엇인지 물어 보는 것이 좋습니다 ... 내 대답은 구체적인 참조와 경험을주었습니다. 그래서 질문을 닫는 것은 건설적인 것이 아니 었습니다. –