답변:
N 계층 아키텍처는 일반적으로 네트워크에 의해 분리 된 각 계층을 갖습니다. IE 프레젠테이션 계층은 일부 웹 서버에 있으며 비즈니스 로직을 위해 네트워크를 통해 백엔드 응용 프로그램 서버와 통신 한 다음 다시 네트워크를 통해 데이터베이스 서버와 통신하며 응용 프로그램 서버도 일부 원격 서비스를 호출합니다 ( 결제 처리에 대해서는 Authorize.net이라고 말하십시오).
MVC는 일부 응용 프로그램에서 모델, 뷰 및 컨트롤러를 나타내는 코드의 다른 부분을 담당하는 프로그래밍 디자인 패턴입니다. 예를 들어 Model 레이어에는 데이터를 저장하고 검색하기 위해 데이터베이스를 호출하는 내부 구현이있을 수 있기 때문에이 두 가지가 관련됩니다. 컨트롤러는 웹 서버에 상주하고 원격으로 앱 서버를 호출하여 데이터를 검색 할 수 있습니다. MVC는 앱 아키텍처가 구현되는 방법에 대한 세부 정보를 추상화합니다.
N 계층은 구현의 물리적 구조를 나타냅니다. MVC 디자인은 종종 N- 계층 아키텍처를 사용하여 구현되기 때문에이 두 가지가 혼동되기도합니다.
3 계층 디자인이 다음과 같은 경우 :
Client <-> Middle <-> Data
MVC 후두둑은 다음과 같습니다.
Middle
^ |
| v
Client <- Data
의미하는 것은 :
PS 클라이언트 것 보기 및 중동 컨트롤러
이것은 무엇 에 대해 말할 n 계층 아키텍처
언뜻보기에 세 가지 계층은 MVC (Model View Controller) 개념과 유사하게 보일 수 있습니다. 그러나 위상 적으로는 다릅니다. 3 계층 아키텍처의 기본 규칙은 클라이언트 계층이 데이터 계층과 직접 통신하지 않는 것입니다. 3 계층 모델에서는 모든 통신이 미들웨어 계층을 통과해야합니다. 개념적으로 3 계층 아키텍처는 선형입니다. 그러나 MVC 아키텍처는 삼각형입니다.보기는 컨트롤러에 업데이트를 보내고 컨트롤러는 모델을 업데이트하며보기는 모델에서 직접 업데이트됩니다.
유일한 유사점은 두 패턴이 다이어그램에 세 개의 상자를 가지고 있다는 것입니다. 근본적으로 그들은 그들의 사용에서 완전히 다릅니다. 사실, 어떤 패턴을 사용할지 선택하는 것이 아니라 두 패턴을 조화롭게 사용할 수 있습니다. 다음은이 두 가지를 잘 비교 한 것입니다 : http://allthingscs.blogspot.com/2011/03/mvc-vs-3-tier-pattern.html
@Cherry Middle ware는 MVC 패턴의 요청 처리기 또는 리디렉터와 비슷하게 작동합니다.
저에 따르면 Model View Controller가 이와 같이 작동한다고 MVC에 대해 조금 설명하고 싶습니다.
그것이 내가 아는 MVC에 관한 것입니다.
휴식을 취하십시오. 실제 문제를 해결할 때 특정 패턴으로 제한하지 마십시오. 몇 가지 일반적인 원칙을 기억하십시오. 그 중 하나는 문제 분리 입니다.
N-Tier 아키텍처는 배포 다이어그램을 사용하여 가장 잘 정의됩니다.
MVC 아키텍처는 시퀀스 다이어그램을 사용하여 가장 잘 정의됩니다.
2는 동일하지 않으며 관련이 없으며 두 아키텍처를 함께 결합 할 수 있습니다. 많은 회사들이 배포 및 확장 성뿐만 아니라 코드 재사용을 위해 N Tier 아키텍처를 만드는 단계를 밟았습니다.
예를 들어 Business Entity 개체는 데스크톱 앱, 클라이언트에 노출 된 웹 서비스, 웹 앱 또는 모바일 앱에서 사용해야 할 수 있습니다. 단순히 MVC 접근 방식을 사용하더라도 아무것도 재사용하는 데 도움이되지 않습니다.
Jerry : 두 사람의 관계를 보여주는 간단한 예가 있습니다 :
Tier 1- 입력 검증, 계산 및 뷰와 관련된 기타 사항을 처리하기 위해 일종의 네트워크 서비스 또는 이와 유사한 컨트롤러를 통해 Tier 2와 통신하는 모델로 구성됩니다. 그리고 여기에는 뷰 자체가 포함되어 있습니다. 물론 데스크톱 응용 프로그램의 GUI이거나 웹 응용 프로그램의 웹 인터페이스 일 수 있습니다.
2 단계 -1 단계 에서 메시지를 수신하는 일종의 서비스 또는 기타 방법이 포함되어 있습니다. 1 단계에 대해 알지 못하거나 위의 전화에만 응답 할 수 있으므로 스스로 요청하지 마십시오. 또한 모든 비즈니스 로직을 포함합니다.
계층 3- 도메인 모델, 데이터베이스의 객체 표현 및 데이터베이스 항목을 통신하고 업데이트하는 모든 논리를 포함합니다.
3 계층 모델에서는 모든 통신이 중간 계층을 통과해야합니다. 개념적으로 3 계층 아키텍처는 선형입니다. 그러나 [model-view-controller] MVC 아키텍처는 삼각형입니다. 뷰는 컨트롤러로 업데이트를 보내고 컨트롤러는 모델을 업데이트하며 뷰는 모델에서 직접 업데이트됩니다.