문제

그래서 나는 다음 일을 시작하려고 해요 ASP.NET MVC 프로젝트 경험은 전반적으로 좋았지만 컨트롤러가 스파게티처럼 엉망이 된 것은 그다지 만족스럽지 않습니다.나는 온라인(CodeCampServer 등...)을 둘러보았고 컨트롤러 메서드가 SRP(단일 책임 원칙)를 꽤 일관되게 위반하는 동일한 문제를 겪고 있는 것 같습니다. 예를 들어 요청이 있는 경우 뷰를 단순히 렌더링하는 컨트롤러 메서드와 같습니다. ㅏ GET 하지만 업데이트 model 만약에 POST.이제 애플리케이션 전반에 걸쳐 여러 논리적 경로를 담당하는 컨트롤러 메서드가 생겼습니다. button 양식을 클릭하고 그에 따라 작동합니다.JavaScript를 사용하여 각 버튼 클릭을 다른 양식 작업으로 리디렉션할 수 있지만 뭔가 느낌이 좋지 않습니다...또 다른 큰 문제는 마법의 확산이다. strings - ViewData["foo"] = blah; 간단히 말해서, 여러분은 어떻습니까? structure 당신의 controller 논리?뷰당 하나의 거대한 모델 객체?많은 작은 controller methods 그리고 JavaScript 라우터야?내 목표는 유지 관리 가능한 코드입니다. 기능이 늘어남에 따라 미끄러운 경사면에서 미끄러지기 시작합니다...

도움이 되었습니까?

해결책

ASP.NET Preview 5(다음에서 사용 가능) 코드플렉스) 이에 대한 답변이 있습니다.[AcceptVerbs] 속성.필 하크(Phil Haack)는 블로그 게시물 어떻게 사용되는지 토론합니다.

뷰 데이터 매직 키 질문은 흥미로운 문제입니다.뷰를 반독립적인 구성요소의 묶음으로 생각한다면(특히 새로운 부분 뷰 지원에 비추어) 강력한 유형의 모델을 만드는 것은 덜 이상적입니다. 서로.

다른 팁

다양한 사람들이 이 문제를 어떻게 처리하고 있나요?나는 모델 폴더 내부의 뒤죽박죽된 내용을 검토하는 데 몇 시간을 보냈다는 것을 알고 있습니다.폴더를 만드는 것이 시각적 혼란을 줄이는 데 도움이 되며 일치하는 네임스페이스를 사용하는 것도 많은 도움이 됩니다.

하지만 내 컨트롤러는 현재 단일체입니다.문제는 내가 프로젝트의 이 시점까지 학습에 집중했다는 것입니다(아직 정리해야 할 부분도 많습니다).

이제 MVC에 대해 잘 이해하고 있으므로 복잡성을 검토하고 컨트롤러를 더 나은 이름과 깔끔한 ​​기능으로 수정하는 것을 고려할 때입니다.

다른 사람들이 컨트롤러를 하위 컨트롤러로 나누고 있습니까?(그런 일이 있다면)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top