>  기사  >  백엔드 개발  >  [ASP.NET MVC Mavericks Road] 01 - MVC 패턴의 이해

[ASP.NET MVC Mavericks Road] 01 - MVC 패턴의 이해

黄舟
黄舟원래의
2016-12-30 13:42:231468검색

ASP.NET
MVC Mavericks Road]01 - MVC 패턴의 이해

PS: MVC는 나온 지 꽤 됐지만 직장에서 사용할 기회가 없었습니다. 관심을 가지고 퇴근 후 MVC에 대한 심층적인 연구를 수행하고 블로그 게시물을 통해 배운 내용을 기록하고 동료 정원사로부터 수정을 받기를 바랍니다.

이 글의 내용


일반적인 의미의 MVC 패턴 이해

MVC 패턴(Model-View-Controller)은 소프트웨어 엔지니어링의 핵심 개념 소프트웨어 시스템을 다음과 같은 세 가지 기본 부분으로 나누는 소프트웨어 아키텍처 패턴입니다.

모델(Model): 모델은 애플리케이션의 비즈니스 로직과 관련된 데이터를 캡슐화하는 데 사용됩니다. 데이터를 처리합니다. "모델"은 데이터베이스와 같은 데이터에 직접 액세스할 수 있습니다. "모델"은 "뷰"와 "컨트롤러"에 의존하지 않습니다. 즉, 모델은 표시 방법이나 조작 방법에 관심이 없습니다.
보기: 보기는 의도적인 데이터 표시를 달성할 수 있습니다. 일반적으로 뷰에는 절차적 논리가 없습니다.
컨트롤러: 컨트롤러는 서로 다른 수준 사이에서 조직적인 역할을 하며 애플리케이션의 흐름을 제어하는 ​​데 사용됩니다. 이벤트를 처리하고 응답합니다. "이벤트"에는 사용자 행동과 데이터 모델의 변경 사항이 포함됩니다.

위의 내용은 위키피디아에서 발췌한 것입니다. 위의 텍스트와 개인적인 이해를 바탕으로 MVC의 다양한 부분 간의 관계를 보여주는 다음 다이어그램을 그렸습니다.

[ASP.NET MVC Mavericks Road] 01 - MVC 패턴의 이해

참고, 플랫폼과 언어에 따라 프레임워크의 정의가 다릅니다. MVC에 대한 명확한 정의가 없습니다. 그러나 일반적으로 MVC 모델의 각 부분은 명확한 업무 분업과 명확한 정의를 가지고 있습니다. 데이터를 조작하는 로직은 모델에만 존재하고, 데이터를 렌더링하는 로직은 뷰에만 존재하며, 사용자 요청 및 입력을 처리하는 로직은 컨트롤러에만 존재합니다. 애플리케이션의 규모나 라이프사이클의 어느 단계에 있든 관계없이 MVC 패턴에 대한 명확한 관심 분리를 통해 애플리케이션을 더 쉽게 유지 관리하고 확장할 수 있습니다.

도메인 모델의 이해

도메인 모델은 도메인 내의 개념적 클래스나 현실 세계의 객체를 시각적으로 표현한 것입니다. 개념적 모델, 도메인 개체 모델, 비즈니스 개체 모델이라고도 합니다. 문제 도메인 자체를 분석하고, 중요한 비즈니스 도메인 개념을 발견하고, 비즈니스 도메인 개념 간의 관계를 설정하는 데 중점을 둡니다. 도메인 모델은 비즈니스 사용 사례의 구현을 설명하는 개체 모델입니다. 비즈니스 수행을 위해 비즈니스 역할과 비즈니스 엔터티가 어떻게 관련되고 협력되어야 하는지에 대한 추상화입니다.

MVC 애플리케이션에서 도메인 모델은 매우 중요한 부분입니다. 특정 업계에서는 실제 엔터티, 관련 운영 및 규칙을 기반으로 모델을 만듭니다. C# 프로그램의 경우 도메인 모델은 실제 객체를 캡슐화하는 C# 유형(클래스, 구조 등)의 집합입니다. 도메인의 객체에 대한 일부 작업(또는 처리)은 C# 유형에 정의된 메서드(메서드)입니다. ; 필드의 개체 작업에 대한 규칙 중 일부는 C#에서 속성 판독기 및 작성기의 get 및 set 메서드에 의한 클래스 멤버 읽기 및 쓰기 제어와 같은 메서드 내의 논리적 처리입니다. 예:

예를 들어 은행 분야에서는 개인 "은행 계좌"를 모델에 내장할 수 있습니다. 각 계좌에는 은행 계좌 모델에 따른 방법인 "은행 카드 소비" 작업이 있습니다. "당좌 대월 소비 없음"은 이 계좌의 은행 카드 사용에 대한 제약 규칙입니다. 이 규칙은 은행 카드 소비 방법 내에 정의된 논리적 처리입니다.

위의 내용은 다소 추상적이지만 여전히 이해하기 쉽습니다. 도메인 모델에 대한 나의 이해는 여기까지만 가능합니다. 친구 여러분, 경험해 보십시오. 간단히 말해서, MVC 애플리케이션에서는 다음 개념이 필요합니다. 모델을 통해 데이터를 조작하거나 연산을 추가하거나 연산에 규칙을 추가하거나 변경하는 것은 모두 애플리케이션의 도메인 모델을 변경하는 것입니다.

ASP.NET의 MVC 이해

요약하면 ASP.NET MVC의 특징은 다음과 같습니다.

프로젝트를 모델 뷰와 컨트롤러로 나누면 이러한 작업 분리(관심사 분리라고도 함)를 통해 복잡한 프로젝트를 더 쉽게 유지 관리하고 테스트. 드라이버 구성 요소를 사용하면 응용 프로그램을 더 쉽게 테스트할 수 있습니다.
확장 가능하고 간단한 프레임워크. mvc 프레임워크는 포팅과 사용자 정의를 더 쉽게 만들도록 설계되었습니다. 자신만의 뷰 엔진, URL 재작성 전략, 오버로드된 작업 메서드 등을 추가할 수 있습니다. mvc는 DI(종속성 주입) 및 IOC(제어 반전)도 지원합니다. 강력한 URL 재작성 메커니즘을 사용하면 이해하기 쉽고 검색 가능한 URL을 더 쉽게 만들 수 있습니다. URL에는 파일 확장자를 포함할 수 없으며 검색 엔진에 더 친숙하게 만들기 위해 URL을 다시 작성할 수 있습니다.
기존 asp.net 프로그램 지원, asp.net의 기존 페이지 태그, 사용자 컨트롤, 템플릿 페이지, 데이터 바인딩 등을 사용할 수 있습니다.
......

ASP.NET MVC에서 컨트롤러는 일반적으로 System.Web.Mvc.Controller를 상속하는 클래스입니다. 컨트롤러에 있는 클래스의 각 공용 메서드를 Action 메서드라고 합니다. ASP.NET 라우팅 시스템은 요청된 URL 및 라우팅 구성을 기반으로 해당 Action 메서드를 내부적으로 호출하고 도메인 모델 작업을 완료한 후 클라이언트에 표시할 뷰를 선택합니다. 다음 그림은 ASP.NET MVC의 컨트롤러, 모델 및 뷰 간의 관계를 보여줍니다.

[ASP.NET MVC Mavericks Road] 01 - MVC 패턴의 이해

또한 ASP.NET MVC 프레임워크는 .NET에서 지원하는 모든 데이터베이스를 사용할 수 있습니다. , ORM 프레임워크 및 기타 도구.

초심자라면 이 정도면 ASP.NET MVC의 개념을 이해하기에 충분하다고 생각합니다. ASP.NET의 MVC 개념을 더 잘 이해하려면 MSDN 설명서를 참조하는 것이 좋습니다.

초심자라면 이해를 돕기 위해 몇 가지 간단한 데모를 직접 만들어 보는 것이 좋습니다. 다른 정원 친구의 실용적인 MVC 입문 튜토리얼 시리즈 블로그 게시물을 참조하세요.

위 내용은 [ASP.NET MVC Maverick's Road] 01 - MVC 모델 내용 이해하기 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.