초보자를 위한 ASP.NET MVC 자습서:이란 무엇입니까? Archi강의
⚡ 스마트 요약
ASP.NET MVC는 오픈 소스입니다. Microsoft 웹 애플리케이션을 모델, 뷰, 컨트롤러 계층으로 분리하는 프레임워크로, 개발자에게 HTML에 대한 완벽한 제어권, 테스트 가능한 코드, 깔끔한 라우팅, 그리고 기존 웹 폼보다 가벼운 대안을 제공합니다.
ASP.NET MVC란?
ASP.NET MVC 오픈 소스 웹 개발 프레임워크입니다. Microsoft ASP.NET MVC는 모델-뷰-컨트롤러(MVC) 아키텍처를 제공합니다. 웹 애플리케이션 구축을 위한 ASP.NET 웹 폼의 대안으로 사용될 수 있습니다. 웹 앱을 구축, 배포 및 실행하기 위한 .NET 플랫폼의 일부입니다. HTML, CSS, jQuery 등을 사용하여 웹 앱과 웹사이트를 개발할 수 있습니다. Java대본 등
초보자를 위한 MVC의 모든 기본 개념을 다루는 이 ASP.NET MVC 튜토리얼로 MVC를 배워보세요:
ASP.NET MVC를 사용하는 이유는 무엇일까요?
웹 양식은 매우 성공적이었지만, Microsoft 개발에 대한 생각ping ASP.NET MVC. ASP.NET 웹폼의 주요 문제는 성능입니다.
안에 웹 애플리케이션, 성능을 정의하는 네 가지 주요 측면이 있습니다.
- 응답 시간 문제
- 단위 테스트 문제
- HTML 사용자 정의
- 코드 숨김 클래스의 재사용성
ASP.NET MVC는 위의 기준에서 탁월한 성능을 보여줍니다.
MVC 버전 기록
ASP.NET MVC1
- 13년 2009월 XNUMX일 출시
- 이 프로그램은 .NET 3.5에서 실행됩니다.
- 비주얼 스튜디오 2008
- WebForm Engine을 사용한 MVC 패턴 아키텍처
- 주요 기능에는 HTML 및 단위 테스트, Ajax 도우미, 라우팅 등
ASP.NET MVC2
- 이 버전은 10년 2010월 XNUMX일에 출시되었습니다.
- .NET 3.5, 4.0에서 실행됩니다. Microsoft 비주얼 스튜디오 2008
- 템플릿 기반 도우미, 자동 스캐폴딩 및 사용자 정의 가능한 템플릿을 갖춘 UI 도우미와 같은 기능을 포함합니다.
- 클라이언트 및 서버 측에서 모델 유효성 검사를 적용하기 위해 DataAnnotations 속성을 지원합니다.
ASP.NET MVC3
- 13년 2011월 XNUMX일에 출시되었습니다.
- .NET 4.0 및 다음에서 실행됩니다. Microsoft 비주얼 스튜디오 2010
- N의 사용uGet 소프트웨어를 제공하고 플랫폼 전반에 걸쳐 종속성을 관리할 수 있습니다.
- 더 나은 JavajQuery 유효성 검사 및 JSON 바인딩을 통한 스크립트 지원
- 이 플랫폼은 Razor 뷰 엔진 및 향상된 데이터 주석 속성과 같은 기능을 제공하여 클라이언트와 서버 양쪽에서 모델 유효성 검사를 지원합니다.
ASP.NET MVC4
- 이 버전은 2012년 XNUMX월에 출시되었습니다.
- .NET 4.0, 4.5 및 Visual Studio 2010 및 Visual Studio 2012에서 실행됩니다.
- 기본 프로젝트 템플릿의 개선 사항
- jQuery Mobile을 사용한 모바일 프로젝트 템플릿, 비동기 컨트롤러에 대한 작업 지원, 번들링, 최소화 등의 기능을 제공합니다.
ASP.NET MVC5
- 17년 2013월 XNUMX일 출시
- .NET 4.5, 4.5.1 및 Visual Studio 2012, Visual Studio 2013에서 실행됩니다.
- MVC에서 속성 라우팅을 지원합니다.
MVC의 특징
- 쉽고 마찰 없는 테스트 가능성
- HTML을 완벽하게 제어하고, Java스크립트 및 URLs
- 기존 활용 ASP.NET 기능
- ASP.NET용 새로운 프레젠테이션 옵션
- ASP.NET 프로그래밍을 더 간단하게 하는 방법
- 명확한 로직 분리: 모델, 뷰, 컨트롤러
- 테스트 주도 개발
- 병렬 개발 지원
MVC 애플리케이션 생성 시 기억해야 할 사항
다음은 MVC 응용 프로그램을 만들 때 기억해야 할 ASP.NET MVC 자습서의 몇 가지 유용한 사항입니다.
- ASP.NET MVC는 ASP.NET 웹 폼 기반 애플리케이션을 대체하는 것이 아니라는 점을 명심해야 합니다.
- MVC 앱 개발 접근 방식은 특정 개발 요구 사항에 맞춰 애플리케이션 요구 사항과 ASP.NET MVC에서 제공하는 기능을 기반으로 결정해야 합니다.
- ASP.NET MVC를 사용한 애플리케이션 개발 과정은 웹 폼 기반 애플리케이션에 비해 더 복잡합니다.
- 애플리케이션 작업을 분리하면 애플리케이션 유지 관리 가능성이 항상 높아집니다.
MVC 아키텍처 패턴
MVC는 관심사 분리 원칙을 따르는 소프트웨어 아키텍처 패턴입니다. 이 모델에서 .NET 애플리케이션은 모델, 뷰, 컨트롤러라는 세 가지 상호 연결된 부분으로 나뉩니다.
MVC 패턴의 목표는 이러한 각 부분을 상대적으로 분리하여 개발하고 테스트하며 결합하여 매우 강력한 애플리케이션을 만드는 것입니다.
이제 그것들을 모두 자세히 살펴보겠습니다.
모델
모델 객체는 애플리케이션의 논리를 구현하는 애플리케이션의 일부입니다. 데이터 도메인. 데이터베이스에서 모델 상태를 검색하고 저장합니다. 예를 들어, 제품 개체는 다음에서 정보를 검색할 수 있습니다. 데이터베이스, 이를 조작합니다. 그런 다음 SQL 서버의 제품 테이블에 정보를 다시 씁니다.
조회수
뷰는 애플리케이션의 사용자 인터페이스(UI)를 표시하는 데 사용되는 구성 요소이며, MVC에서는 뷰모델이라고도 합니다. 뷰는 모델 데이터를 기반으로 생성된 .NET MVC 애플리케이션을 표시합니다.
일반적인 예로는 항목 테이블의 편집 뷰가 있습니다. 제품 및 개체의 현재 상태에 따라 텍스트 상자, 팝업 및 체크 상자를 표시합니다.
제어 장치
컨트롤러는 사용자 상호작용을 처리하고, 모델을 조작하며, UI를 표시할 뷰를 선택합니다. .NET MVC 앱에서 뷰는 정보만 표시하고, 컨트롤러는 MVC의 액션 필터를 사용하여 사용자 입력 및 상호작용을 관리하고 응답합니다.
예를 들어 컨트롤러는 쿼리 문자열 값을 관리하고 해당 값을 모델에 전달합니다.
웹 양식과 MVC
| 파라미터 | 웹폼 | MVC |
|---|---|---|
| 모델 | ASP.NET 웹 폼은 이벤트 기반 개발 모델을 따릅니다. | ASP.NET MVC는 MVC 패턴 기반 개발 모델을 사용합니다. |
| 이후 사용 | 2002년부터 존재해왔어 | 2009년에 처음 출시된 |
| 보기 상태 지원 | ASP.NET 웹 폼은 클라이언트 측 상태 관리를 위해 뷰 상태를 지원합니다. | .NET MVC는 뷰 상태를 지원하지 않습니다. |
| URL 유형 | ASP.NET 웹 폼은 파일 기반입니다. URLs. 즉, 파일 이름이 존재한다는 뜻입니다. URL그리고 그것들은 물리적으로 존재해야 합니다. | ASP.NET MVC는 경로 기반 방식을 사용합니다. URL즉, URL컨트롤러와 액션으로 리디렉션되는 s입니다. |
| 통사론 | ASP.NET 웹 폼은 웹 폼 구문을 따릅니다. | ASP.NET MVC는 사용자 정의 가능한 구문을 따릅니다. |
| 보기 유형 | 웹 폼과 뷰는 밀접하게 연결되어 있습니다. Code (ASPX-CS) 뒤에 있는 것, 즉 논리입니다. | MVC, 뷰 및 로직은 항상 별도로 유지됩니다. |
| 일관된 디자인과 느낌 | 일관된 모양을 위한 마스터 페이지가 있습니다. | ASP.NET MVC는 일관된 디자인을 위한 레이아웃을 제공합니다. |
| Code 재사용 성 | Web Form은 코드 재사용을 위한 사용자 컨트롤을 제공합니다. | ASP.NET MVC는 코드 재사용성을 위해 부분 뷰를 제공해 왔습니다. |
| HTML 제어 | Less 렌더링된 HTML을 제어합니다. | HTML에 대한 모든 권한 |
| 상태 관리 | 제어의 자동 상태 관리. | 수동 상태 관리. |
| TDD 지원 | 약한 TDD 또는 사용자 정의 TDD가 필요합니다. | TDD를 장려하고 포함합니다. |
ASP.NET MVC의 장점
- 기본적으로 유지 관리 가능성이 높은 애플리케이션
- 이를 통해 애플리케이션의 모든 구성 요소를 교체할 수 있습니다.
- 테스트 주도 개발에 대한 더 나은 지원
- 모델, 뷰, 컨트롤러를 구분해 놓았기 때문에 복잡한 애플리케이션을 쉽게 관리할 수 있습니다.
- 전면 컨트롤러 패턴으로 강력한 라우팅 메커니즘 제공
- 보기 상태 및 서버 기반 양식을 제거하여 애플리케이션 동작에 대한 더 나은 제어 기능을 제공합니다.
- .NET MVC 애플리케이션은 대규모 개발자 및 웹 디자이너 팀의 지원을 받습니다.
- 이는 응용 프로그램의 동작을 더 강력하게 제어할 수 있는 기능을 제공합니다. 또한 서버에 대한 요청에 최적화된 대역폭을 사용합니다.
ASP.NET MVC의 단점
- .aspx 페이지처럼 디자인 페이지 미리보기를 볼 수 없습니다.
- 실제 디자인을 보려면 매번 프로그램을 실행해야 합니다.
- 애플리케이션의 흐름을 이해하는 것이 어려울 수 있습니다.
- 구현하기가 상당히 복잡하므로 소규모 애플리케이션에는 이상적인 옵션이 아닙니다.
- MVC 패턴에 대한 깊은 이해가 필요하므로 ASP.NET용 MVC를 배우기가 어렵습니다.
ASP.NET MVC를 사용하는 동안 최고의 사례
- 규모가 크고 복잡한 코드의 경우, 원치 않는 상황을 방지하기 위해 모델용으로 별도의 어셈블리를 생성하십시오.
- 모델에는 비즈니스 로직, 세션 유지 관리, 유효성 검사 부분, 데이터 로직 부분이 포함되어야 합니다.
- VIEW에는 비즈니스 로직 및 세션 유지 관리가 포함되어서는 안 됩니다. ViewData를 사용하여 View의 데이터에 액세스하세요.
- 비즈니스 로직 및 데이터 접근은 컨트롤러에서 절대 발생해서는 안 됩니다.
- 컨트롤러는 뷰 준비 및 반환, 모델 호출, 작업 리디렉션 등의 작업만 담당해야 합니다.
- 애플리케이션을 생성할 때 데모 코드를 삭제하세요(AccountController 삭제).
- HTML과 프로그래밍 코드의 조합이므로 특정 뷰 엔진만 사용하여 뷰에서 HTML 마크업을 생성하세요.


