초보자를 위한 ASP.NET MVC 자습서:이란 무엇입니까? Archi강의

ASP.NET MVC란?

ASP.NET MVC 오픈 소스 웹 개발 프레임워크입니다. Microsoft Model View Controller 아키텍처를 제공하는 ASP.net MVC는 웹 애플리케이션을 빌드하기 위한 ASP.net 웹 폼에 대한 대안을 제공합니다. 웹 앱을 빌드, 배포 및 실행하기 위한 .Net 플랫폼의 일부입니다. HTML, CSS, jQuery의 도움으로 웹 앱과 웹사이트를 개발할 수 있습니다. Javascript등

초보자를 위한 MVC의 모든 기본 개념을 다루는 이 ASP.NET MVC 튜토리얼로 MVC를 배워보세요:

왜 ASP.net MVC인가?

웹 양식은 매우 성공적이었지만, Microsoft ASP.net MVC 개발을 생각했습니다. ASP.net webForms의 주요 문제는 성능입니다.

안에 웹 애플리케이션, 성능을 정의하는 네 가지 주요 측면이 있습니다.

  • 응답 시간 문제
  • 단위 테스트 문제
  • 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
  • 템플릿 기반 도우미, 자동 스캐폴딩 및 사용자 정의 가능한 템플릿이 있는 Ul 도우미와 같은 기능 포함
  • 클라이언트 및 서버 측에서 모델 유효성 검사를 적용하기 위해 DataAnnotations 속성을 지원합니다.

ASP.NET MVC3

  • 13년 2011월 XNUMX일에 출시되었습니다.
  • .NET 4.0 및 다음에서 실행됩니다. Microsoft 비주얼 스튜디오 2010
  • N의 사용uGet 소프트웨어를 제공하고 플랫폼 전반에 걸쳐 종속성을 관리할 수 있습니다.
  • 더 나은 Java스크립트 지원, jQuery 검증 및 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 OneASP.NET에서 실행됩니다.
  • MVC에서 속성 라우팅을 지원합니다.

MVC의 특징

  • 쉽고 마찰 없는 테스트 가능성
  • HTML을 완벽하게 제어하고, Java스크립트 및 URL
  • 기존 활용 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 아키텍처 패턴

MVC는 관심사 분리 방법을 따르는 소프트웨어 아키텍처 패턴입니다. 이 모델에서 .Net 애플리케이션은 모델, 뷰, 컨트롤러라는 세 개의 상호 연결된 부분으로 나뉩니다.

MVC 패턴의 목표는 이러한 각 부분을 상대적으로 분리하여 개발하고 테스트하며 결합하여 매우 강력한 애플리케이션을 만드는 것입니다.

모두 자세히 살펴보겠습니다.

모델

모델 객체는 애플리케이션의 논리를 구현하는 애플리케이션의 일부입니다. 데이터 도메인. 데이터베이스에서 모델 상태를 검색하고 저장합니다. 예를 들어, 제품 개체는 다음에서 정보를 검색할 수 있습니다. 데이터베이스, 이를 조작합니다. 그런 다음 SQL 서버의 제품 테이블에 정보를 다시 씁니다.

조회수

뷰는 MVC에서 viewmodel이라고도 하는 애플리케이션의 사용자 인터페이스(UI)를 표시하는 데 사용되는 구성 요소입니다. 모델 데이터에서 생성된 .Net MVC 애플리케이션을 표시합니다.

일반적인 예로는 항목 테이블의 편집 뷰가 있습니다. 제품 및 개체의 현재 상태에 따라 텍스트 상자, 팝업 및 체크 상자를 표시합니다.

제어 장치

컨트롤러는 사용자 상호 작용을 처리하고 모델 작업을 수행하며 해당 디스플레이 Ul을 렌더링할 뷰를 선택합니다. .Net MVC 앱에서 보기는 정보만 표시하고 컨트롤러는 MVC의 작업 필터를 사용하여 사용자 입력 및 상호 작용을 관리하고 응답합니다.

예를 들어 컨트롤러는 쿼리 문자열 값을 관리하고 해당 값을 모델에 전달합니다.

웹 양식과 MVC

파라미터 WebFroms MVC
모델 Asp.Net Web Forms는 이벤트 중심 개발 모델을 따릅니다. Asp.Net MVC는 MVC 패턴 기반 개발 모델을 사용합니다.
이후 사용 2002년부터 존재해왔어 2009년에 처음 출시된
보기 상태 지원 Asp.Net Web Form은 클라이언트 측의 상태 관리를 위한 보기 상태를 지원합니다. .Net MVC는 보기 상태를 지원하지 않습니다.
URL 유형 Asp.Net Web Form에는 파일 기반 URL이 있습니다. 이는 파일 이름이 URL에 존재하며 물리적으로 존재해야 함을 의미합니다. Asp.Net MVC에는 컨트롤러 및 작업으로 리디렉션되는 URL을 의미하는 경로 기반 URL이 있습니다.
통사론 Asp.Net MVC는 Web Forms 구문을 따릅니다. Asp.Net MVC는 사용자 정의 가능한 구문을 따릅니다.
보기 유형 웹 양식, 뷰는 코드 숨김(ASPX-CS), 즉 로직과 긴밀하게 결합됩니다. MVC, 뷰 및 로직은 항상 별도로 유지됩니다.
일관된 모양과 느낌 일관된 모양을 위한 마스터 페이지가 있습니다. Asp.Net MVC에는 일관된 모양을 위한 레이아웃이 있습니다.
코드 재사용성 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를 사용하는 동안 최고의 사례

  • 크고 복잡한 코드의 경우 원치 않는 상황을 피하기 위해 MODEL에 대한 별도의 어셈블리를 생성하십시오.
  • 모델에는 비즈니스 로직, 세션 유지 관리, 유효성 검사 부분, 데이터 로직 부분이 포함되어야 합니다.
  • VIEW에는 비즈니스 로직 및 세션 유지 관리가 포함되어서는 안 됩니다. ViewData를 사용하여 View의 데이터에 액세스하세요.
  • ControllerViewData에서는 비즈니스 로직 및 데이터 액세스가 발생해서는 안 됩니다.
  • 컨트롤러는 뷰 준비 및 반환, 모델 호출, 작업 리디렉션 등의 작업만 담당해야 합니다.
  • 애플리케이션을 생성할 때 애플리케이션에서 데모 코드 삭제 AccountController 삭제
  • HTML과 프로그래밍 코드의 조합이므로 특정 뷰 엔진만 사용하여 뷰에서 HTML 마크업을 생성하세요.

제품 개요

  • ASP.NET MVC는 오픈 소스 웹 개발 프레임워크입니다. Microsoft 그 제공합니다 모델 뷰 컨트롤러 아키텍처.
  • ASP.net MVC는 웹 애플리케이션 구축을 위한 ASP.net 웹 양식의 대안을 제공합니다.
  • ASP.net webForms의 주요 문제는 성능입니다.
  • ASP.net MVC는 HTML 및 URL을 완벽하게 제어하여 쉽고 원활한 테스트 가능성을 제공합니다.
  • ASP .net MVC는 ASP.Net 웹 양식 기반 응용 프로그램을 대체하지 않는다는 점을 기억해야 합니다.
  • MVC 앱 개발 또는 ASP.NET MVC 수명 주기의 접근 방식은 특정 개발 요구 사항에 맞게 ASP .net MVC에서 제공하는 애플리케이션 요구 사항 및 기능을 기반으로 결정되어야 합니다.
  • ASP.NET MVC는 기본적으로 유지 관리 가능성이 높은 응용 프로그램을 제공합니다.
  • ASP.net에서는 .aspx 페이지와 같은 디자인 페이지 미리보기를 볼 수 없습니다.
  • 모범 사례로서 모델에는 비즈니스 논리, 세션 유지 관리, 유효성 검사 부분 및 데이터 논리 부분이 포함되어야 합니다.