MVC vs Web Form? 그리고 MVC 버전 별 차이
ASP.NET Web Forms 및 ASP.NET MVC의 호환성
ASP.NET에 익숙한 개발자는 ASP.NET MVC 응용 프로그램을 만들 때 ASP.NET에 대한 지식 중 많은 부분을 활용할 수 있습니다. ASP.NET MVC는 ASP.NET 프레임워크의 일부로 제공되기 때문에 ASP.NET 네임스페이스, 클래스 및 인터페이스 대부분을 MVC 응용 프로그램에서 사용할 수 있습니다.이 항목에서는 ASP.NET Web Forms의 장점과 ASP.NET MVC 모델의 장점 모두에 대해 설명합니다. 그런 다음 ASP.NET 프레임워크 기능 중 MVC 응용 프로그램에서 사용 가능한 기능 및 사용하지 않아야 하는 기능에 대해 설명합니다.
다음 목록에서는 웹 응용 프로그램 작성과 관련한 ASP.NET Web Forms 모델의 장점에 대해 설명합니다.
이벤트 모델. Web Forms에서는 Windows 응용 프로그램에 사용되는 것과 같은 이벤트 구동 프로그래밍 스타일을 지원합니다. 많은 이벤트를 사용할 수 있으며 이러한 이벤트는 수백 개의 서버 컨트롤에서 지원됩니다.
상태 관리. Web Forms에서는 뷰 상태 및 서버 기반 컨트롤을 사용하여 상태 관리의 복잡성을 줄여 줍니다.
페이지 기반 아키텍처. Web Forms에서는 선언적 태그가 포함된 페이지(.aspx 파일)를 기능을 추가하는 코드 비하인드 파일과 결합하는 아키텍처를 제공합니다. 이 구조에서는 사용자 제스처에 대한 응답 및 서버 코드에서의 태그 렌더링 같은 일반적 작업을 구현하는 페이지를 쉽게 만들 수 있습니다.
풍부한 컨트롤 집합. ASP.NET 커뮤니티에서는 개발 시간을 단축해 주는 수백 개의 서버 컨트롤 및 구성 요소를 제공합니다.
다음 목록에서는 웹 응용 프로그램 작성과 관련한 ASP.NET MVC 모델의 장점에 대해 설명합니다.
문제의 분리. ASP.NET MVC에서는 응용 프로그램을 느슨하게 연결된 여러 개의 분리된 요소, 즉 응용 프로그램의 모델, 뷰 및 컨트롤러 요소로 분할하는 "문제의 분리"가 적용됩니다. 따라서 MVC 응용 프로그램은 쉽게 테스트하고 유지 관리할 수 있습니다.
렌더링된 HTML에 대한 향상된 제어. MVC에서는 렌더링된 HTML에 대한 제어 수준이 크게 향상됩니다.
테스트 구동 방식 개발. MVC는 테스트 구동 방식 개발을 쉽게 수행할 수 있도록 설계되어 있습니다. MVC 프로젝트의 테스트 프로젝트는 MVC 프로젝트와 동시에 만들 수 있습니다. 그런 다음 응용 프로그램의 각 작업 메서드에 대한 단위 테스트를 만들어 웹 응용 프로그램에 대한 전체 요청 주기를 호출하지 않고 작업 메서드를 실행할 수 있습니다.
Web Forms과 MVC는 매우 다른 기술처럼 보일 수도 있습니다. 그러나 두 기술 모두 ASP.NET 프레임워크를 기반으로 한다는 공통점이 있습니다.따라서 Web Forms에 기반하는 응용 프로그램을 만드는 데 사용해 온 ASP.NET 프레임워크 기능 대부분을 MVC 응용 프로그램 개발에도 사용할 수 있습니다. 이러한 기능에는 멤버 자격, 인증, 역할 및 구성 등이 있으며 각 기능은 MVC 응용 프로그램에서도 Web Forms 응용 프로그램에서와 동일하게 작동합니다. ASP.NET MVC 응용 프로그램에서는 대부분의 ASP.NET 네임스페이스, 클래스 및 인터페이스를 사용할 수 있습니다.
ASP.NET MVC에서는 뷰 상태를 사용하여 상태 정보를 관리하지 않으므로 상태 정보가 필요한 경우 이를 관리할 다른 방법을 찾아야 합니다. 또한 뷰 상태와 포스트백을 사용하는 서버 컨트롤의 경우 ASP.NET MVC 응용 프로그램에서는 설계한 대로 작동하지 않습니다. 따라서 GridView, Repeater 및 DataList 같은 컨트롤은 사용하지 않아야 합니다.
Web Forms 페이지의 수명 주기는 복잡하며 이 주기 동안 많은 이벤트가 발생할 수 있습니다. 그러나 모델, 뷰와 컨트롤러 사이의 상호 작용에는 이와 다른 수명 주기 모델이 사용되기 때문에 이러한 이벤트가 ASP.NET MVC 응용 프로그램에서는 지원되지 않습니다. MVC 수명 주기 모델에 대한 자세한 내용은 MVC 응용 프로그램 실행 프로세스 이해를 참조하십시오.
참고 사이트 ::
https://docs.microsoft.com/ko-kr/aspnet/whitepapers/mvc3-release-notes (ASP.NET MVC 3)
https://msdn.microsoft.com/ko-kr/library/dd381619(v=vs.100).aspx (ASP.NET Web Form 및 ASP.NET MVC의 호환성)
https://www.seguetech.com/net-web-forms-vs-mvc/ (.NET Web Form vs. MVC: Which is better?)
http://blog.jakeymvc.com/five-reasons-to-use-mvc/ (ASP.NET MVC를 사용해야 하는 다섯가지 이유)
http://blog.jakeymvc.com/mvc6/ (ASP.NET MVC 6 개발의 변화)
'ASP.NET' 카테고리의 다른 글
SiteMap.CurrentNode Null Error (SiteMap.CurrentNode is null) (0) | 2021.01.11 |
---|---|
Reapeater, DataList, GridView, ListView 차이점 (0) | 2019.01.11 |
VS Code에서 Razor 사용해보기 (0) | 2018.10.15 |
ASP.NET Webpages Webmail 보내다 오류 (0) | 2018.10.12 |
ASP.NET 한글 깨짐 (0) | 2018.08.10 |