2011-01-31 6 views
2

asp.net에서 mvc와 웹 응용 프로그램 간의 차이점을 설명 할 수있는 사람이 있습니다. mvc에서 컨트롤러 폴더를 찾을 수 있습니다. 웹 응용 프로그램에서 컨트롤러 폴더를 찾을 수 없습니다 ..! 내 혼란을 피하십시오.asp.net mvc 응용 프로그램과 asp.net 웹 응용 프로그램의 차이점은 무엇입니까

+0

[ASP.NET 웹 양식과 MVC의 주요 차이점은 무엇입니까?] (http://stackoverflow.com/questions/142132/what-are-the-the-key-differences-asp-net-webforms-and-mvc) – nawfal

답변

3

ASP.NET MVC 응용 프로그램은 ASP.NET MVC 프레임 워크에 의존하는 응용 프로그램입니다. MVC는 MVC 패턴을 사용하여 만든 응용 프로그램을 정의하는 세 가지 구성 요소 인 Model, View Controller를 나타냅니다.

MVC 패턴은 응용 프로그램 논리, 데이터 및 표현을 별개의 다소 독립적 인 구성 요소로 분리하는 것을 목표로합니다.

모델

모델은 응용 프로그램의 데이터의 표현입니다. 예를 들어 쇼핑 응용 프로그램에는 장바구니의 상태를 나타내는 장바구니 모델이있을 수 있습니다.

보기

보기 모델에 포함 된 데이터의 시각적 표현이다. 뷰 클래스는 사용하는 모델을 어떻게 표시해야하는지에 대해 자세히 알아야합니다. 컨트롤러의 작업

컨트롤러

는 사용자 입력을 처리하고 사용자 작업의 결과로 만들어진 변경 사항을 반영하기 위해 모델의 상태를 업데이트하는 것입니다. 예를 들어, 사용자가 Contact Us 페이지를보고 Submit 버튼을 클릭했다고 상상해보십시오. 컨트롤러는 폼 필드의 값으로 모델을 업데이트 한 다음 모델을 저장하여 유효성을 검사 한 다음 데이터베이스에 기록함으로써 버튼 클릭에 응답합니다.

이것은 MVC 패턴과 ASP.NET MVC 프레임 워크에 대한보다 완전한 뷰를 얻기 위해 ASP.NET MVC homepage으로 넘어 가야하는 MVC 패턴의 매우 단순하고 불완전한 설명입니다.

ASP.NET 웹 응용 프로그램은 Web Forms라고하는 별도의 프레임 워크를 사용합니다. Web Forms은 MVC 패턴에 정의 된 규칙을 사용하지 않기 때문에 웹 응용 프로그램 템플릿은 비슷한 폴더 구조를 만들지 않습니다.

두 프레임 워크를 함께 사용하는 것이 상호 배타적 인 것은 아니며 둘은 같은 문제에 대한 접근 방식이 다릅니다. 데이터 액세스에 가장 효율적인 점은 Michael Shimmins의 뛰어난 코멘트에 대한 것입니다.

7

MVC는 컨트롤러를 사용하여 모델 및보기를 조정하여 사용자 인터페이스를 사용자에게 제공합니다.

웹 양식은 컨트롤러를 사용하여이 작업을 수행하지 않지만 이벤트와 함께 사용되는 코드를 사용합니다.

MVC는 우려 사항 분리 개념을 기반으로합니다. 각 요소는 자체 비트를 담당하며 다른 비트가 수행하는 작업과 관련되어서는 안됩니다. Webforms는 코드가 웹 폼 (코드 뒤에 있음)과 1 : 1로 관련되어있어 비즈니스 로직이 UI로 들어온다는 점에서 좀 더 잘 어울립니다.

WebForms는 강력한 이벤트 시스템을 사용하여 HTTP의 복잡성 (예 : 상태 비 저장 속성)을 추상화합니다. MVC는 이것을하지 않기 때문에 개발자는 순수한 HTTP 환경에서만 작업해야합니다. WebForms의 이벤트 시스템을 사용하면 VB6/WinForms 배경 (ASP.NET이 처음 출시되었을 때 대상 고객이 가지고있는)에서 온 경우 익숙한 방식으로 이벤트를 신속하게 연결할 수 있습니다.

MVC를 시작하기에 많은 훌륭한 자습서가있는 http://www.asp.net/mvc을 살펴보십시오.

+0

thankyou. 그러나 하나는 데이터베이스, MVC 또는 webforms asp.net 응용 프로그램을 사용하는 동안 효율적입니다. – Mihir

+1

@Mihir - 그것은 (미안)에 달려있다. WebForms는 그리드, 호출기 등과 같은 상자 형 데이터 바인딩 컨트롤로 인해 약간 더 효율적일 수 있습니다. MVC는 테스트 가능성 (webform보다 틀림없이 더 쉽기 때문에)이 더 좋을 수 있습니다. 그러나 그들은 각각 자신의 용도를 가지며 다른 작업에 적합합니다. 쿼리 실행과 관련하여 데이터베이스 효율은 DB와 통신하기 위해 동일한 라이브러리를 사용하기 때문에 많은 부분을 차지합니다. –

관련 문제