>  기사  >  백엔드 개발  >  ASP.NET의 다중 계층 아키텍처 이해

ASP.NET의 다중 계층 아키텍처 이해

巴扎黑
巴扎黑원래의
2017-08-03 13:13:372753검색

Asp.net의 다중 계층 아키텍처는 주로 데이터 계층, 논리 계층, 프레젠테이션 계층 등 간의 관계를 해결하는 것입니다. 수행 방법은 다음과 같습니다. 먼저 DataCore 기본 클래스를 만듭니다. 기본 클래스는 데이터베이스 연결, 저장 프로시저 호출 등과 같은 하위 수준 데이터베이스의 일부 기본 작업을 캡슐화합니다.

많은 사람들이 다중 계층 애플리케이션을 개발하는 것을 어려워합니다. 예를 들어 보겠습니다. 1~2명만 있는 소규모 회사의 경우 한 사람이 상사, 계산원, 회계사, 마케팅, 영업, 개발 등 여러 작업을 동시에 수행할 수 있습니다. 대기업의 경우 업무 분장이 엄격하게 이루어지며 각 사람은 업무의 일부만 완료하고 서로 협력하여 정상적인 운영을 보장해야 합니다. 이전 개발 프로그램은 소규모 회사와 비슷했습니다. 사용자 인터페이스부터 데이터베이스 액세스까지 모든 기능이 한 페이지에서 완료되었습니다. 이것의 단점은 다음과 같습니다.

1. 개발이 어렵고 여러 사람이 협업하기가 어렵습니다. 개발

2. 데이터베이스나 규칙이 변경되면 전체 페이지를 다시 수정해야 할 수 있으므로 유지 관리 비용이 증가합니다

3. 모든 기능이 혼합되어 프로그램 재사용성이 떨어집니다. 새로운 프로젝트를 개발하면 거의 코드를 다시 작성해야 합니다.

이 문제를 해결하기 위해 사람들은 "다단계 애플리케이션"이라는 개념을 내놓았습니다. 그 본질은 명확한 권한을 가진 대기업의 개념과 유사합니다. 페이지에 대한 작업과 데이터 접근을 분리하는 , 비즈니스 룰 등의 기능은 특수 파일에 배치됩니다. 더 널리 사용되는 것은 2계층 아키텍처, 3계층 아키텍처 및 MVC입니다.

1. 2계층 아키텍처

2계층 아키텍처는 프로그램을 사용자 인터페이스 계층과 데이터 액세스 계층으로 나눕니다. 그 본질은 데이터베이스에 접근하는 코드를 데이터 접근 계층에 넣고, 사용자 인터페이스 계층은 데이터 접근 계층을 통해 데이터베이스를 운영하는 것이다. 상호작용 관계는 다음과 같습니다. (""는 양방향 화살표를 나타냄)

사용자 인터페이스데이터 액세스II. 계층 아키텍처

, 3계층 아키텍처인 두 번째 계층 아키텍처의 비즈니스 로직은 데이터 액세스 계층과 분리되어 별도의 비즈니스 로직 계층이 됩니다. 프로그램을 3개의 계층으로 나누어 데이터 접근 계층은 데이터베이스 운영만 담당하고, 비즈니스 로직 계층은 다양한 데이터 처리를 담당한다. 주로 DAL(데이터 처리 계층), BLL(비즈니스 로직 계층), UI(사용자 인터페이스 계층), 모델(엔터티 모델) 등 최상위 수준의 4가지 구성 요소가 포함됩니다. 처음 세 개는 사람들이 흔히 3계층 구조라고 부르는 것입니다.
1) 데이터 액세스 계층(데이터베이스 액세스 계층, DAL): 지속성 계층이라고도 하며, 이 기능은 주로 데이터베이스 액세스를 담당합니다. 쉽게 말하면 데이터 테이블에 선택, 삽입, 업데이트, 삭제 등의 작업을 구현하는 것입니다. ORM 요소를 추가하려면 개체와 데이터 테이블 간의 매핑은 물론 개체 엔터티의 지속성도 포함됩니다.
2) 비즈니스 논리 계층(BLL): 전체 시스템의 핵심이며 다음과 관련됩니다. 이는 시스템의 비즈니스(필드)와 관련됩니다.

3) 프리젠테이션 레이어(사용자 인터페이스 레이어, UIA): 시스템의 UI 부분으로 사용자와 전체 시스템 간의 상호 작용을 담당합니다. 이 계층에는 시스템의 비즈니스 로직이 포함되지 않는 것이 이상적인 상태입니다. 표현 계층의 논리 코드는 인터페이스 요소에만 관련됩니다.

4) 엔터티 모델 계층(Model): 다양한 엔터티 인스턴스 형태로 존재하는 모든 데이터 정보를 포함합니다. 이는 전체 시스템의 기본 수준입니다.




완벽한 3계층 구조는 논리 계층을 수정하지 않고 프레젠테이션 계층을 수정하고, 데이터 액세스 계층을 수정하지 않고 두 번째 논리 계층을 수정해야 합니다. 어느 정도의 디커플링을 달성합니다.

3계층 아키텍처는 주로 프로젝트 구조를 더욱 명확하게 하고 업무 분담을 더욱 명확하게 만들어 향후 유지 관리 및 업그레이드에 도움이 됩니다. 전체 애플리케이션의 각 비즈니스 운영 프로세스에서 여러 단계의 코드 캡슐화 문제를 해결하여 프로그래머가 특정 단계의 비즈니스 로직 처리에 더 집중할 수 있도록 합니다. 그러나 서브 프로그램 모듈이 완료되지 않으면 메인 프로그램 모듈이 대기 상태에만 있을 수 있으므로 성능이 향상되지 않을 수 있습니다. 이는 애플리케이션을 여러 레이어로 나누면 실행 속도가 다소 저하된다는 것을 보여줍니다. 하지만 팀 개발 효율성 측면에서 보면 매우 다른 효과를 느낄 수 있습니다.

3티어 아키텍처에는 많은 이점이 있지만 프로그램이 매우 간단하거나 미래에 절대 재사용되지 않거나 2티어 아키텍처를 채택할 필요가 없다면 채택할 수도 있다는 점에 유의해야 합니다. 2계층 또는 일반 프로그램 개발 속도는 더 빠릅니다. 실제 상황에 따라 사례별로 처리해야 합니다.

Three.MVC

(M은 비즈니스 로직 및 데이터베이스 상호 작용을 주로 담당하는 모델(모델 계층)입니다.

V는 주로 데이터 표시 및 데이터 제출에 사용되는 뷰(뷰 계층)입니다. 요청 캡처 및 요청 전달 제어,

      MVC 애플리케이션의 뷰 레이어(BS 구조)로 나누어진 다양한 기능을 가진 여러 모듈로, 주로 애플리케이션 사용자 인터페이스의 스타일 교체 문제를 해결하고 이를 비즈니스 코드와 분리하여 표시하는 HTML 페이지로 변환하는 데 사용됩니다. 가능한 한 많이.

4. 3층 구조와 MVC의 차이점


차이점을 알고 싶다면 그림을 보면 알 수 있습니다.

그림 2. MVC와 MVC의 차이점 the three-tier Architecture

3-tier 아키텍처는 인터페이스 레이어(UI), 비즈니스 로직 레이어(BLL), 데이터 액세스 레이어(DAL)이고, MVC는 모델 레이어(M), 인터페이스 레이어(뷰)와 컨트롤로 구성됩니다. 레이어(컨트롤러)와 서로 대응하지 않습니다. ㅋㅋㅋ >                                                  . 상위 계층에서 전달된 데이터와 데이터베이스에서 얻은 데이터를 처리하는 데 사용됩니다. MVC의 컨트롤러는 기껏해야 3계층 아키텍처에서 UI의 일부로 간주될 수 있습니다.


5. 3계층 아키텍처 참조 관계

모델 레이어: 어떤 프로젝트도 참조하지 않습니다.
DAL 레이어: 모델을 참조하고 web.config에서 어셈블리를 읽어 클래스의 인스턴스를 로드한 후 반환합니다.

BLL 레이어: 참조 모델, DAL;

UI 레이어: 참조 모델, BLL

방법은 리소스 관리자에서 프로젝트 파일을 마우스 오른쪽 버튼으로 클릭하고 참조를 추가하는 것입니다. 팝업 대화 상자에서 프로젝트 태그를 선택하고 적절한 클래스 라이브러리를 선택한 후 확인을 클릭합니다. 그런 다음 프로젝트 파일에 "참조된 클래스 네임스페이스"를 사용하여 추가합니다. ㅋㅋㅋ >                                  " ""네임스페이스"를 사용하여 헤더 파일에 추가할 때 클래스 라이브러리가 공개인지 여부.

위 내용은 ASP.NET의 다중 계층 아키텍처 이해의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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