행복한 세상의 니노

왜 레이어로 나눌까? ASP.NET과 함께 알아보는 아키텍처 본문

Web개발/ASP.NET

왜 레이어로 나눌까? ASP.NET과 함께 알아보는 아키텍처

니노z 2019. 3. 14. 11:07

🔹 아키텍처란?

시스템을 구성하는 요소들을 어떤 기준으로 나누고 연결할 것인지에 대한 설계 원칙의 집합입니다.

쉽게 말해, 구조와 책임의 체계적인 분할이라고 볼 수 있어요.

 

🔹 레이어(Layer)란?

시스템의 기능을 책임 단위로 나눈 구조.

각 레이어는 **특정한 책임(Roles)**을 가지며, 서로 다른 레이어 간의 종속성을 명확하게 합니다.

 

특징:

  • 상위 레이어는 하위 레이어에 의존 가능
  • 하위 레이어는 상위 레이어에 의존 불가 (단방향 의존)

 

🔹 N계층 아키텍처 스타일 (N-Tier Architecture)

논리 레이어물리 계층으로 구성됩니다.
ASP.NET Web Forms 프로젝트에서는 일반적으로 아래와 같이 나눕니다:

 

레이어역활
Presentation Layer (UI) 사용자와의 인터페이스 담당 (예: .aspx, 코드비하인드)
Business Logic Layer (BLL) 핵심 로직, 규칙 처리 (예: 계산, 유효성 검사 등)
Data Access Layer (DAL) DB 처리, CRUD 담당 (예: ADO.NET, Entity Framework 등)
Database 실제 데이터 저장소

👉 이 구조는 유지보수 용이성역할 분리를 극대화할 수 있어요.

 

🔹 호스트란?

애플리케이션이 실행되는 논리적 또는 물리적 환경을 의미합니다.

예: IIS(웹 서버), Windows 서비스, 콘솔 앱 등

 

🔸 왜 레이어로 구분할까?

  1. 관심사의 분리(Separation of Concerns)
    → 각 레이어는 고유한 역할에 집중할 수 있음
  2. 유지보수 편리성
    → 특정 기능 수정 시, 해당 레이어만 수정 가능
  3. 테스트 용이성
    → 단위 테스트 또는 모의(Mock) 객체 활용이 쉬움
반응형