ASP.NET 의 다 층 구조 에 대하 여 말씀 드 리 겠 습 니 다.

4280 단어 ASP.NET다 층 구조
많은 사람들 이 다 층 응용 프로그램 개발 에 어느 정도 어려움 을 느낀다.예 를 들 어 한두 명 밖 에 없 는 작은 회사 에 대해 한 사람 이 사장,출납,회계,시장,판매,개발 등 여러 가지 업 무 를 동시에 맡 을 수 있다.한편,큰 회사 에 대해 비교적 엄밀 한 분업 을 하고 모든 사람 이 일부분 만 완성 하 며 서로 협조 해 야 정상 적 인 운행 을 보장 할 수 있다.예전 의 개발 프로그램 은 작은 회사 와 유사 하 다.사용자 인터페이스 에서 데이터 베 이 스 를 방문 하 는 등 모든 기능 이 한 페이지 에서 이 루어 졌 다.이런 단점 은 다음 과 같다.
    1.개발 이 어려워 다 중 협업 개발 이 어렵다
    2.데이터베이스 나 규칙 이 바 뀌 면 전체 페이지 를 다시 수정 하고 유지 보수 비용 을 늘 릴 수 있 습 니 다.
    3.모든 기능 이 혼합 되 어 있 기 때문에 프로그램의 중용 성 이 떨어진다.새로운 프로젝트 를 개발 하려 면 코드 를 거의 다시 써 야 한다.
        이 문 제 를 해결 하기 위해 사람들 은'다 층 응용 프로그램'이라는 개념 을 제 기 했 는데 그 본질은 직권 이 명확 한 대기업 과 유사 하여 페이지 를 분업 하고 데이터 방문,업무 규칙 등 기능 을 전문 적 인 문서 에 두 었 다.비교적 유행 하 는 것 은 2 층 구조,3 층 구조 와 MVC 가 있다.
층 구조
         2 층 구 조 는 프로그램 을 사용자 인터페이스 층 과 데이터 액세스 층 으로 나 누 는 것 이다.그 본질은 데이터 베 이 스 를 방문 하 는 코드 를 데이터 액세스 층 에 넣 고 사용자 인터페이스 층 은 데이터 액세스 층 을 통 해 데이터 베 이 스 를 조작 하 는 것 이다.상호작용 관 계 는 다음 과 같다.
사용자 인터페이스<--->데이터 액세스<--->데이터베이스
2.3 층 구조
        3 층 구 조 는 곧 2 층 구조 중의 업무 논 리 를 데이터 액세스 층 에서 분리 하여 하나의 단독 업무 논리 층 이 될 것 이다.프로그램 을 3 층 으로 나 눈 후 데이터 액세스 층 은 데이터베이스 만 조작 하고 업무 논리 층 은 데이터 에 대해 각종 처 리 를 책임 진다.
맨 위 에 DAL(데이터 처리 층),BLL(비 즈 니스 논리 층),UI(사용자 인터페이스 층),Model(실체 모델)등 4 개의 위 젯 이 포함 되 어 있다.그 중 앞의 세 가 지 는 사람들 이 흔히 말 하 는 3 층 구조 다.
    1)데이터 액세스 층(database access layer,DAL):가끔 은 지구 층 이 라 고도 부 르 는데 그 기능 은 주로 데이터 베 이 스 를 방문 하 는 것 을 책임 집 니 다.쉽게 말 하면 데이터 시트 에 대한 Select,Insert,Update,Delete 작업 을 실현 하 는 것 이다.ORM 요 소 를 추가 하려 면 대상 과 데이터 시트 간 의 mapping,그리고 대상 실체의 지속 화 를 포함 합 니 다.
    2)업무 논리 층(business logic layer,BLL):전체 시스템 의 핵심 으로 이 시스템 의 업무(분야)와 관련 이 있다.
    3)표시 층(user interface layer,UIA):시스템 의 UI 부분 으로 사용자 와 전체 시스템 의 상호작용 을 책임 집 니 다.이 층 에서 이상 적 인 상 태 는 체계 적 인 업무 논 리 를 포함해 서 는 안 된다.표현 층 의 논리 코드 는 인터페이스 요소 와 만 관련 이 있 습 니 다.
   4)실체 모델 층(Model):모든 데이터 정 보 를 포함 하고 이런 데이터 정 보 는 각종 Entity 인 스 턴 스 형식 으로 존재 한다.전체 시스템 의 기초 차원 이다.

        완벽 한 3 층 구 조 는 논리 층 을 수정 하지 않 고 논리 층 을 수정 하 는 것 이 어야 한다.2.데이터 액세스 층 을 수정 하지 않 아 도 된다.어느 정도 의 결합 을 풀다.
        3 층 구 조 는 주로 프로젝트 구 조 를 더욱 명확 하 게 하고 분업 을 더욱 명확 하 게 하 며 후기의 유지 와 업그레이드 에 유리 하 다.이 는 전체 응용 프로그램 에서 각 업무 수행 과정 에서 서로 다른 단계 의 코드 패 키 징 문 제 를 해결 하여 프로그래머 로 하여 금 특정한 단계 의 업무 논 리 를 더욱 집중 적 으로 처리 하 게 한다.그러나 반드시 성능 을 향상 시 키 는 것 은 아 닙 니 다.하위 프로그램 모듈 이 실행 되 지 않 았 을 때 메 인 프로그램 모듈 은 대기 상태 에 있 을 수 밖 에 없 기 때 문 입 니 다.이 는 응용 프로그램 을 차원 으로 나 누 면 실행 속도 상의 손실 을 가 져 올 수 있다 는 것 을 의미한다.하지만 팀 개발 효율 측면 에 서 는 크게 다른 효 과 를 느 낄 수 있다.
        주의해 야 할 것 은 3 층 구조 가 좋 은 점 이 많 지만 프로그램 이 간단 하거나 앞으로 재 활용 되 지 않 거나 2 층 구 조 를 사용 하지 않 아 도 2 층 또는 일반적인 프로그램 개발 속도 가 빠 를 수 있다 는 점 이다.실제 상황 에 근거 하여 구체 적 으로 처리 해 야 한다.
MVC
        M 은 모델(모델 층)로 주로 업무 논리 와 데이터 뱅 크 의 상호작용 을 책임 진다.
        V 는 바로 View(보기 층)로 데 이 터 를 표시 하고 제출 하 는 데 사 용 됩 니 다.
        C.즉,Controller(컨트롤 러)는 주로 캡 처 요청 과 퍼 가기 제어 에 사 용 됩 니 다.
        MVC 는 응용 프로그램(BS 구조)의 시각 계층 에서 구 분 된 서로 다른 기능 의 몇 가지 모듈 로 주로 응용 프로그램 사용자 인터페이스의 스타일 교체 문 제 를 해결 하기 위해 데 이 터 를 보 여 주 는 HTML 페이지 를 가능 한 한 업무 코드 와 분리 시킨다.
4.3 층 구조 와 MVC 의 차이
구별 하면 그림 을 보면 알 수 있다.

그림 2.MVC 와 3 층 구조의 차이
         3 층 구 조 는 인터페이스 층(UI)업무 논리 층(BLL)과 데이터 액세스 층(DAL)으로 구성 되 고 MVC 는 모델 층(M)인터페이스 층(View)과 제어 층(Controller)으로 구성 되 며 이들 사이 에 도 대응 하지 않 는 다.
        억지로 대응 하려 면 3 층 구조 에 있 는 UI 가 MVC 에 대응 하 는 view 는 모두 화면 을 표시 하고 가 져 오 는 데 사 용 됩 니 다.3 층 구조 중의 BLL 층 과 DAL 층 이 MVC 에 대응 하 는 Model 층 은 모두 상부 에서 전 달 된 데이터 와 데이터 베이스 에서 얻 은 데 이 터 를 처리 하 는 데 사용 된다.MVC 의 Controller 는 최대 3 층 구조 중의 UI 의 일부분 이 라 고 할 수 있다.
5.3 층 구조 참조 관계
Model 층:항목 을 참조 하지 않 습 니 다.
DAL 층:Model 을 참조 하여 웹.config 의 프로그램 집합 을 읽 고 클래스 의 인 스 턴 스 를 불 러 와 BLL 에 되 돌려 줍 니 다.
BLL 층:Model,DAL 참조;
UI 층:Model,BLL 참조;
       방법 은 자원 관리자 에서 항목 파일 을 오른쪽 클릭 하고 인용 을 추가 하 는 것 입 니 다.팝 업 대화 상자 에서 항목 탭 을 선택 하고 적당 한 라 이브 러 리 를 선택 한 후 확인 을 누 르 십시오.그리고 프로젝트 파일 에 using'인용 클래스 의 네 임 스페이스'를 추가 합 니 다.
        항목 에 인용 이 추가 되 었 지만 지정 한 라 이브 러 리 파일 을 찾 을 수 없습니다.검사 할 수 있 습 니 다:
            1.인 용 된 항목 에 문법 오류 가 있 는 지,헤더 파일 에 using"네 임 스페이스"를 추가 할 지 여부.
            2.라 이브 러 리 를 추가 할 때 이 라 이브 러 리 가 Public 인지 여부 입 니 다.
이상 에서 말 한 것 이 바로 본문의 전체 내용 이 니 여러분 들 이 좋아 하 시 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기