도움이 되었습니까?

해결책

현재 WebForms에 만족한다면 ASP.NET MVC가 적합하지 않을 수 있습니다.

저는 오랫동안 WebForms에 실망했습니다. 나는 여기서 혼자가 아니다. 웹을 통한 스마트 클라이언트 상태 저장 추상화는 복잡한 시나리오에서 심각하게 분해됩니다. 저는 HTML, Javascript 및 CSS를 좋아합니다. WebForms는 저에게 그것을 숨기려고합니다. 또한 그다지 복잡하지 않은 문제에 대한 정말 복잡한 솔루션도 있습니다. Webforms는 본질적으로 테스트하기가 어렵고 MVP를 사용할 수는 있지만 웹 환경에 적합한 솔루션은 아닙니다 ... (MVC와 비교)

MVC는 다음과 같은 경우에 호소 할 것입니다. -HTML에 대한 더 많은 제어를 원합니다. -다른 모든 플랫폼과 마찬가지로 원활한 ajax 경험을 원합니다. -철저한 테스트 가능성 -의미있는 URL을 원함 -포스트 백 및 뷰 스테이트 문제에 대한 증오

프레임 워크가 Preview 5라는 점은 상당히 안정적이고 디자인이 대부분 있고 업그레이드도 어렵지 않습니다. 미리보기 1에서 앱을 시작했으며 최신 미리보기를 사용할 수있게 된 후 몇 시간 내에 업그레이드했습니다.

다른 팁

MVC와 WebForms는 경쟁하지 않으며 하나가 다른 것보다 낫지 않다는 것을 명심하는 것이 중요합니다.그들은 단순히 다른 도구입니다.대부분의 사람들은 MVC 대 WebForms에 접근하는 것처럼 보입니다. "하나는 다른 것보다 더 나은 망치 여야합니다."그건 틀렸어요.하나는 망치이고 다른 하나는 드라이버입니다.둘 다 물건을 조립하는 과정에서 사용되지만 장단점이 다릅니다.

맛이 나빠졌다면 스크루 드라이버를 사용하여 못을 박 으려고했을 것입니다.MVC로 우아하고 단순 해지는 WebForms에서는 특정 문제가 번거롭고 그 반대도 마찬가지입니다.

ASP.NET MVC (web.config에서 경로를 정의 할 수있는 HTTPModule도 작성했습니다)를 사용했지만 여전히 입안에서 쓴 맛이납니다.

조직과 생산성이 크게 퇴보 한 것 같습니다.일부는 그렇지 않을 수도 있지만 웹 양식을 파악했으며 유지 관리가 가능하도록 만드는 데있어 아무런 문제가 없습니다.

그 것이고 저는 현재의 "TEST EVERYTHING"유행을지지하지 않습니다 ...

ASP.NET MVC를 사용하면 기본적으로 코드의 다른 섹션에 대한 책임을 분리 할 수 있습니다.이를 통해 애플리케이션을 테스트 할 수 있습니다.뷰, 경로 등을 테스트 할 수 있습니다. 이제 ViewState 또는 Postback이 없기 때문에 애플리케이션 속도도 향상됩니다.

그러나 단점도 있습니다.WebForms를 사용하지 않기 때문에 ASP.NET 컨트롤을 사용할 수 없습니다.즉, GridView를 만들려면 for 루프를 실행하고 테이블을 수동으로 만듭니다.MVC에서 ASP.NET 마법사를 사용하려면 직접 만들어야합니다.

ASP.NET 웹폼에 지 쳤고 모든 것을 스스로 수행하려는 경우 좋은 프레임 워크입니다.그러나 모든 것을 다시 만들면 이익을 얻을 수 있다는 것을 명심해야합니까?

일반적으로 풍부한 제어 기능과 자동 연결 기능으로 인해 Webforms 프레임 워크를 선호합니다.

먼저 테스트 사이트를 만들고 팀이 어떻게 생각하는지 확인했지만 MVC를 사용한 후에는 WebForms로 돌아 가지 않았습니다.

어떤 사람들은 HTML과 혼합 된 코드를 좋아하지 않습니다. 저는 그것을 이해할 수 있지만, 저는 페이지 수명주기, HTML 렌더링과 같은 것보다 유연성을 훨씬 더 선호합니다.p>

어떤 사람들은 더 나은 테스트 가능성을 위해 MVC를 선호하지만 개인적으로 대부분의 코드는 중간 계층에 있으며 어쨌든 쉽게 테스트됩니다 ...

@Jonathan Holland 귀하가 투표에서 제외 된 것을 보았지만 이는 매우 유효한 점수입니다.사람들이 ASP.NET MVC 프레임 워크 를 혼란스럽게하는 것처럼 보이는 인터 튜브 관련 게시물을 읽었습니다.a> 및 MVC 패턴 .

MVC는 그 자체로 디자인 패턴 입니다.만약 당신이 찾고있는 모든 것이 "관심의 분리"라면, 당신은 확실히 웹폼으로 그것을 달성 할 수 있습니다.개인적으로 저는 표준 n에서 MVP 패턴 을 좋아합니다.계층 환경.

ASP.NET 세계에서 마크 업을 완전히 제어하고 싶다면 MVC가 당신을위한 것입니다.

@Juan Manuel 클래식 ASP에서 작업 한 적이 있습니까? 자신의 모든 이벤트와 "viewstatish"항목 (예 : 양식 제출 후 선택한 값을 불러오는 드롭 다운)을 프로그래밍해야했을 때

그렇다면 ASP.NET MVC는 그다지 어색하지 않을 것입니다. Rob Conery의 멋진 시리즈 " MVC Storefront "를 확인해 보겠습니다. 프레임 워크 및 상점 첫 화면 사이트에 대한 각 예상 구성 요소 빌드. 정말 인상적이고 따라하기 쉽습니다 (Rob이 실제로 활동하고 그 시리즈에서 많이 게시했기 때문에 따라 잡는 것은 어렵습니다).

개인적으로 Jeff Atwood의 주제에 대한 감정 과는 정반대로 webform 모델이 마음에 들었습니다. 확실히 vbscript / classic ASP 시절과는 완전히 달랐지만 viewstate를 확인하고 CSS 친화적 인 컨트롤을 직접 작성하는 것이 실제로 즐거웠습니다.

그런 다음 다시 "좋아요"라고 답했습니다. ASP.NET MVC는 정말 훌륭하고 다른 웹 기술과 비슷합니다. 여러 플랫폼에서 작업해야하거나 원할 경우 ASP.NET MVC에서 RAILS로 전환하는 것이 확실히 더 쉽습니다. 그리고 네, 당신의 회사가 어떤 색상의 "베타"소프트웨어를 허용하지 않는다면 그것은 분명히 매우 안정적입니다. 이 시점에서 프로덕션에 구현하는 것이 문제가 될 수 있습니다.

전문 ASP.NET 개발자이고 새로운 것을 배우는 데 시간을 할애 할 시간이 있다면 ASP.NET MVC를 사용해 보는 것이 좋습니다. 모든 문제에 대한 해결책이 아닐 수 있으며 전통적인 웹 양식 구현에서 더 많은 이점을 얻을 수있는 많은 프로젝트가 있지만 MVC를 파악하는 동안 확실히 많은 것을 배우고 다음과 같은 많은 아이디어를 얻을 수 있습니다. 직업에 지원할 수 있습니다.

MVC 애완 동물 프로젝트를 개발하는 동안 많은 블로그 게시물과 비디오 자습서를 살펴보면서 알아 차린 한 가지 좋은 점은 대부분이 현재 모범 사례 (TDD, IoC, 종속성 주입 및 더 낮은 범위까지)를 따르고 있다는 것입니다. POCO), 그리고 사용자에게 더 흥미로운 경험을 제공하기위한 많은 JQuery, 그리고 그것은 제가 현재의 웹폼 앱에 적용 할 수있는 것들이며 이전에는 그렇게 깊이 노출되지 않았습니다.

ASP.NET MVC 방식은 웹 양식과 너무 다르기 때문에 약간의 마음이 흔들릴 수 있으며 개발자에게는 매우 좋습니다!

웹 개발 초보자를위한 OTOH 저는 MVC가 좋은 디자인 패턴을 제공하고 웹이 실제로 작동하는 방식에 더 가깝기 때문에 확실히 더 나은 시작이라고 생각합니다 (HTML은 상태 비 저장입니다). MVC에서는 와이어에서 앞뒤로 이동하는 모든 바이트를 결정합니다 (적어도 html 도우미에 열중하지 않는 동안). 일단 그렇게되면 ASP.NET 웹 양식과 서버 컨트롤에서 제공하는 "인공"기능으로 이동할 준비가 더 잘 될 것입니다.

많은 작업을 수행하는 서버 컨트롤을 사용하고 싶다면 MVC에서 많은 수작업 코딩을해야하기 때문에 MVC를 좋아하지 않을 것입니다.GridView가 마음에 들면 직접 작성하거나 다른 사람의 것을 사용하십시오.

MVC는 모든 사람을위한 것은 아닙니다. 특히 GUI 부분을 단위 테스트하지 않는 경우에는 더욱 그렇습니다.웹 양식에 익숙하다면 그대로 유지하십시오.Web Forms 4.0은 ASP.NET에서 자동으로 할당되는 ID와 같은 현재의 일부 단점을 수정합니다.다음 버전에서 이러한 기능을 제어 할 수 있습니다.

당신이 함께 일하는 개발자들이 MVC 패턴에 익숙하지 않다면 저는 그렇게하지 않을 것입니다.최소한 나는 그렇게 큰 변화를 일으키기 전에 그들과 먼저 이야기를 나누었습니다.

ASP.NET MVC, Juan Manuel 에 대해서도 동일한 결정을 내리려고합니다.나는 지금 내가 실험 할 수있는 적당한 크기의 프로젝트가 나올 때까지 기다리고있다.실험이 잘된다면 (직감은 그렇게 될 것이라고 말합니다.) 그런 다음 프레임 워크를 중심으로 새로운 대규모 프로젝트를 설계 할 것입니다.

ASP.NET MVC를 사용하면 ASP.NET Web Forms의 viewstate / postback 모델이 손실됩니다.추상화가 없으면 HTML과 HTTP POST 및 GET 명령으로 훨씬 더 밀접하게 작업합니다.UI 프로그래밍은 다소 고전적인 ASP의 방향이라고 생각합니다.

그 불편 함으로 인해 더 큰 통제력이 생깁니다.ASP.NET의 가상 세션 쓰레기와 싸우는 경우가 많고 출력 HTML을 완전히 제어 할 수 있다는 전망이 매우 신선 해 보입니다.

두 세계 중 최고 일 수도 있고 최악 일 수도 있습니다.

<인용구>

ASP.NET MVC를 모르지만 MVC 패턴에 대해 잘 알고 있습니다.MVC없이 전문적인 응용 프로그램을 구축하는 다른 방법은 없습니다.그리고 Spring이나 Struts와 같은 MVC 모델 2 여야합니다.그런데 사람들이 MVC없이 웹 애플리케이션을 어떻게 만들었습니까?사용자가 인증되었는지 확인하기 위해 모든 요청에 대해 일종의 유효성 검사가 필요한 상황이 발생하면 솔루션은 무엇입니까?모든 페이지에 어떤 종류의 include (validate.aspx)가 있습니까?

N-Tier 개발에 대해 들어 본 적이 없습니까?

Ajax, RAD (ajax를 사용하는 웹 양식은 매우 자주 anti-RAD 임), COMPLETE CONTROL (전체 코드 및주기를 개발하지 않음).웹 양식은 그리드 등을 바인딩하는 데만 유용하며 다른 것에 대해서는 바인딩하지 않습니다. 한 가지 더 중요한 것은 성능입니다.웹 양식 지옥에 갇 히면 조만간 MVC를 켤 것입니다.

기존 프로젝트를 전환하는 것만 권장하지 않습니다.팀이 기술을 실험하는 데 사용할 수있는 작은 "데모"프로젝트를 시작하고 (필요한 경우) 필요한 사항을 배우고 전환하는 것이 가치가 있음을 경영진에게 보여줄 수 있습니다.결국 개발팀조차도 준비가되지 않았거나 그럴 가치가 없다는 것을 깨달을 수 있습니다.

무엇을 하던지 반드시 문서화하십시오.데모 프로젝트를 사용하는 경우 나중에 참조 할 수 있도록 사후 분석을 작성하십시오.

ASP.NET MVC를 모르지만 MVC 패턴에 대해 잘 알고 있습니다.MVC없이 전문적인 응용 프로그램을 구축하는 다른 방법은 없습니다.그리고 Spring이나 Struts와 같은 MVC 모델 2 여야합니다.그런데 사람들이 MVC없이 웹 애플리케이션을 어떻게 만들었습니까?사용자가 인증되었는지 확인하기 위해 모든 요청에 대해 일종의 유효성 검사가 필요한 상황이 발생하면 솔루션은 무엇입니까?모든 페이지에 어떤 종류의 include (validate.aspx)가 있습니까?

아니요. 안됩니다.새 프로젝트에서 자유롭게 시도해보세요.하지만 ASP.NET 웹폼에 익숙한 많은 사람들은 원시 HTML + 많은 다른 개념 + 문서에 대한 매우 슬림 한 선택으로 인해 아직 그것을 좋아하지 않습니다.튜토리얼.

ASP.net MVC가 '미리보기 5'에만 있다는 사실이 조사 할 때 우려 할만한 원인입니까?

StackOverflow가이를 사용하여 만들어 졌다는 것을 알고 있지만 Microsoft가 공식적으로 베타 / 알파 / 미리보기 릴리스가 끝나기 전에 프레임 워크에 중요한 변경 사항을 구현할 가능성이 있습니까?

MVC 프레임 워크를 사용하는 데 어려움이 있다면 Castle 프로젝트의 프레임 워크를 사용하기로 결정했습니다 ...

그 말을 들었을 때 저는 개인적으로 WebControls에 상태 저장 클라이언트 등을 포함하는 이벤트 기반 애플리케이션을 만들 수있는 것과 같은 많은 이점이 있다고 생각합니다.WebControl에 대한 대부분의 주장은 WebControl 모델에 대한 이해 부족 등으로 구성됩니다. 실제로는 실제로 나쁘기 때문이 아닙니다 ...

MVC는 Silver Bullet이 아닙니다. 특히 Microsoft MVC가 아닙니다 ...

나는 테스트 가능성을 위해 누군가가 코드에서 전체 HTML을 렌더링 한 MVC 프레임 워크의 일부 구현을 보았습니다.이 경우 뷰는 테스트 가능한 코드이기도합니다.하지만 저는 제 친구, HTML을 코드에 넣는 것은 유지 관리의 악몽이라고 말했습니다. 그는 제가 컴파일되고 테스트 된 모든 것을 좋아한다고 말했습니다.나는 주장하지 않았지만 나중에 그가이 HTML을 리소스 파일에 넣었 음을 알게되었고 광기가 계속되었다 ...

그는 View를 분리하는 전체 아이디어가 유지 관리 부분도 해결한다는 사실을 거의 깨달았습니다.일부 응용 분야에서 테스트 가능성을 능가합니다.WYSWYG 도구를 사용하는 경우 HTML 디자인을 테스트 할 필요가 없습니다.WebForms는 이러한 이유로 좋습니다.

저는 사람들이 포스트 백과 뷰 스테이트를 남용하고 ASP .NET 모델을 비난하는 것을 자주 보았습니다.

최고의 웹 페이지는 여전히 .HTML이며 ASP .NET MVC의 힘입니다.

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