0

asp.net mvc에서 3 단계 아키텍처를 구현하는 것이 무엇을 의미하는지 알고 싶습니다.asp.net mvc의 3 단계 아키텍처

나는 이런 식으로 언급되는 많은 게시물을 보았습니다. 그러나 나는 그걸로 너무 혼란 스럽다. mvc에서 3 계층 아키텍처를 구현하는 것으로 알려진 비즈니스 계층이라고하는 다른 솔루션에 MVC 모델을 분리합니까? 그렇지 않다면, mvc에서 3 티어 아키텍처를 구현하는 올바른 방법은 무엇입니까?

1 형
프레젠테이션 계층 "컨트롤러 및보기"MVC 패턴에서.
비즈니스 계층 : MVC 패턴의 "모델 (데이터)".
데이터 액세스 계층 : 원본 데이터 액세스 계층.

2 형
프레젠테이션 계층 : 모델
비즈니스 계층을 제외하고 MVC의 모든 : 별도의 모델 밖으로
데이터 액세스 계층 : 데이터베이스 자체

답변

1

더 같이있다 :

  • 프리젠 테이션 계층 : MVC와 관련된 모든 항목
  • 비즈니스 계층 : 별도의 코어 도메인 모델은 (는 하지 MVC에서 'M'을이다). 도메인 모델을 통해 깨끗한 인터페이스를 제공하는 서비스 계층을 포함 할 수 있습니다.
  • 데이터 계층 : 데이터베이스

MVC 자체입니다 단지 프리젠 테이션 계층 - 특정 패턴 및 ASP.NET MVC는 단순히 웹 UI를 만들기위한 프레임 워크입니다.

은 MVC에서 모델은 또한 책임은 보기을 모델 만있어 의미 보기 모델을,라고; 컨트롤러보기 사이에서 데이터를 전송하여 데이터를 분리합니다. MVC의 모델을 비즈니스 계층에 적용되는 도메인 모델 패턴과 혼동하지 마십시오.

비즈니스 로직을 MVC 뷰 모델에 넣는 것이 쉬운 문제 또는 프로토 타입을 위해 작동하지만 3 층 시스템이라고는 할 수 없습니다.

Microsoft Application Architecture Guide - 솔루션을 설계하고 구조화하는 방법 등에 대한 Microsoft의 무료 전자 책입니다.

+0

Microsoft의 관련 전자 책에 대한 링크를 추가했습니다. 무료로 제공됩니다. – astreltsov

0

MVC를 사용하여 3 단계 아키텍처에 대한 최적의 옵션을 보지 못했습니다. 정말 당신에게 가장 적합한 것이 무엇인지에 달려 있습니다. 우리가 MVC 아키텍처를 구현하는 방법을 공유함에있어서, 이것이 최선이 아닐 수도 있지만, 오늘날 갈 가장 좋은 방법은 내일 두 번째 최선의 방법이 될 것입니다.프리젠 테이션 계층 별도의 프로젝트에서

, 컨트롤러에 의해 호출되는 서비스 클래스를 생성 - - 비즈니스 로직 계층을

는 웹 UI 프로젝트는 뷰와 컨트롤러가 포함되어 있습니다.

모델 클래스도 프레젠테이션 계층에 링크되는 비즈니스 개체 계층 역할을하는이 두 번째 프로젝트에 있습니다.

db와의 상호 작용이 필요한 서비스는 두 번째 프로젝트에서 별도의 클래스에 있습니다. - 데이터 액세스 레이어.

또한 필요에 따라 모든 또는 특정 서비스를 생성하는 서비스 구성 클래스가 있습니다. - 비즈니스 로직 계층과도 관련이 있습니다.

우리가하는 일을 잘 설명합니다.

+1

[layers and tiers] (https://stackoverflow.com/questions/120438/whats-the-difference-between-layers)가 혼란 스럽습니다. - 및 - 계층) – astreltsov