ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [아키텍처 패턴] 레이어 패턴(Layer Pattern)
    우아한 테크코스/테크코스 2020. 2. 21. 16:29
    반응형

    아키텍처 패턴

    자주 사용되는 아키텍처에 이름을 붙여 놓은 것

    레이어 패턴

    사용처

     웹 애플리케이션처럼 다양한 기술을 조합해 만드는 복잡한 시스템에서는 MVC 모델과 함께 레이어(Layer)라고 하는 아키텍처 패턴을 이용함

    나중에 읽어볼 것, 패턴 지향 소프트웨어 아키텍처 : 패턴 시스템 1권

    의미

     레이어(Layer) = 계층

     레이어 패턴 : 시스템을 계층화하고 하위 레이어가 제공하는 기능을 상위 레이어가 이용함으로써 각 레이어의 구조를 단순화한다는 발상

     핵심 : 각 레이어는 해당 레이어가 의존하는 직접적인 하위 레이어만 알면 됨

    구조

    레이어 1 (상위 레이어)
      V
    레이어 2
      V
    레이어 3
      V
      V
    레이어 n (하위 레이어)

     레이어 2는 하위 레이어인 레이어 3에 의존

     레이어 2의 경우 의식하는 것은 레이어2 자신과 레이어 3 뿐이며, 상위 레이어인 레이어 1이나 레이어 3보다 하위 레이어는 의식할 필요가 없음

    설계 장점

     각 레이어의 책임을 명확히 할 수 있음

    - 각 레이어가 책임을 다하도록 설계하기만 하면 시스템 전체도 문제 없이 작동

    웹 애플리케이션에서의 레이어 분리

     위는 레이어 패턴의 일반적인 개념이므로 실제로 이용하려면 응용 대상에 맞춰 적절히 계층화해야 함

    일반적인 웹 애플리케이션에 적용한 레이어 패턴

    프리젠테이션 레이어
          V
     비즈니스 레이어
          V
    데이터 액세스 레이어

    프레젠테이션 레이어 (MVC 패턴의 V / C)

     시스템 사용자와의 인터페이스를 담당하는 레이어

     웹 브라우저를 통해 사용자의 입력을 받아 하위 레이어인 비즈니스 로직 레이어에 전달하고, 처리 결과를 다시 웹 브라우저에 표시하거나 화면 이동을 제어하는 일을 담당

    비즈니스 레이어 (MVC 패턴의 M)

     애플리케이션에서 구현해야 할 고유의 작업을 처리하기 위한 레이어

     업무 로직으로 번역됨

     업무 : 본래는 사람이 손을 움직여야 하는 일에 해당하는 것
    시스템 개발의 목적 중 하나는 사람이 손을 움직여서 하는 업무를 컴퓨터에 대행시켜 일의 효율을 높이는 것

     사용자가 입력한 정보를 프리젠테이션 레이어에게서 받고, 필요에 따라 데이터 액세스 레이어를 통해 데이터베이슬르 이용하며 작업을 처리, 그리고 처리한 결과를 프리젠테이션 레이어에 반환

    데이터 액세스 레이어  (MVC 패턴의 M)

     비즈니스 로직 레이어와 데이터베이스를 중개하기 위한 레이어

     데이터베이스에 연결하려면 긴 코드를 작성해야 함 > 이같은 귀찮은 처리를 비즈니스 로직에서 분리해 데이터베이스 연결 절차를 일일이 의식하지 않아도 이용할 수 있게 하는 것이 데이터 액세스 레이어의 역할

     통합 레이어라고도 함(단, 통합 레이어는 데이터베이스 뿐만 아니라 다른 시스템과의 연동을 담당)

    레이어 패턴과 MVC 패턴

     웹 애플리케이션의 레이어와 MVC 패턴은 상반되는 것이 아님

     컨트롤러와 뷰는 그대로 프레젠테이션 레이어

     모델은 비즈니스 로직 레이어와 데이터 액세스 레이어로 나뉨

     - 웹 애플리케이션에서 빈번하게 발생하는 데이터베이스 접속 처리를 데이터 액세스 레이어로 분리함으로써 비즈니스 로직 데이터와 데이터 액세스 레이어라는 각 계층의 개발을 좀 더 간단히 할 수 있음

     

    반응형

    댓글

Designed by Tistory.