2010-08-12 6 views
4

this article에 설명 된 것과 유사한 탐색 위젯에 대한 도우미 확장을 구현할 때 이제는 HTML이 C# 코드로 묶여 있으므로 다시 스킨을 적용하려는 경우 약간 다른 마크 업이 필요한 새 메뉴 컨트롤이있는 사이트 (예 : <ul class="foo">...</ul> 또는 중첩 된 <li> 태그의 고유 한 클래스 이름) 이제 헬퍼 확장과 뷰를 모두 편집해야합니다.ASP.NET MVC 도우미 확장 및 관심 분리

도우미 확장 프로그램을 사용하면 더 빠르고 쉽게 문제를 해결할 수 있습니까? 그러한 코드를 유지 한 경험은 무엇입니까? 나는 마이크로 소프트 MVC에 상당히 익숙하다. 그래서 내가 여기서 어떤 점을 놓치고 있다면 나를 용서해 라.

답변

2

잘 설계된 HTML 도우미는 다재다능해야하며 HTML을 작성하는 방법에 대해 매우 느슨한 의견을 가지고 있어야합니다. 확장 메서드에 재정의 할 수있는 옵션을 추가하여 필요에 따라 렌더링을 구성 할 수 있습니다. 새로운 요구 사항이 있고 기존 도우미가 충분히 유연하지 않으면 새로운 요구 사항을 수용 할 수 있도록 확장하십시오.

1

나는 당신이 옳았고 비슷한 것을 발견했다고 생각합니다. 미래의 일들을 바꿀 필요가 있다면 "빨리"/ 더 쉬운 미래의 고통과 "미래의 고통"을 비교해보십시오. 당신이 "헬퍼"를 사용하는 템플릿에서 읽을 수있게 만들 수 있습니다. 그래서 그것을 변경할 수 있습니다. 웹 앱을 다시 시작하면 변경 사항이 나타납니다. 그러나 복잡성도 증가합니다. 나는 민첩성이 많으면 더 쉽고 빠르다고 말하고, 미래에는 요구 사항이 바뀌면 그것을 다시 파악한다는 것을 이해할 수 있습니다. 누가 알겠습니까? 결코 일어날 수 없습니다.

+1

저는 며칠이 걸리지 만 결코 필요하지 않을 수있는 100 % 솔루션을 보유하는 것보다 80 % 이상 옳은 해결책을 제시하는 데 더 동의합니다. 애자일은 사고를 해결하는 데 아주 좋습니다. 필자의 경우에는 몇 가지 방법으로 재구성 할 필요가있을 것입니다. 필자는 잘된 스타일 매개 변수를 허용하는 도우미 함수를 설정합니다. 컴파일 된 클래스 내에서 생성되는 HTML에 대해서는 아직 완전히 만족하지는 않지만 시간이 지남에 따라 어떻게 작동하는지 볼 수 있습니다. POV 주셔서 감사합니다! – rargie

관련 문제