CS - Layered Architecture


레이어드 아키텍쳐에 대한 간단한 정리

  • 각 구성 요소들이 관심사 분리를 달성하기 위해 ‘책임’을 가진 계측으로 분리한 아키텍쳐이다.
  • 하나의 계층에 여러 관심사가 존재하면 응집도는 떨어지고 결합도가 높아진다.
  • 하지만 응집도는 높아지고 결합도는 낮춰야 좋은 시스템이라 할 수 있다.
  • 그리고 그렇게 해야 유지보수성도 높일 수 있다.
  • 우리가 Spring으로 개발할 때 가장 많이 사용하는 아키텍쳐 방식이다.


레이어드 아키텍쳐의 종류

  • 일반적으로는 3-tier 나 4-tier로 나눈다.
  • 4-tier 를 예시로 들면,
    • HTTP 요청 —> Presentation Layer, Business Layer, Persistence Layer, Data Layer —> DataBase 로 나뉜다.
    • 저 안에 있는 Layer 들이 계층이다.
    • Presenation Layer
      • 우리가 알고 있는 Controller
      • 사용자의 요청, 응답을 처리하는 책임
    • Business Layer
      • 우리가 알고 있는 Service
      • 비즈니스 로직을 수행하는 책임
    • Persistence Layer
      • 우리가 알고 있는 Repository 나 Dao
      • DB와 상호작용, 데이터 CRUD 의 책임
    • Data Layer
      • 실제 DB가 존재하는 계층


  • 참고로 3-tier면, Business 와 Persistence 를 합쳐서 Application Layer 를 만든다.
    • Presenation Layer -> Application Layer -> Data Layer 가 되는 것이다.






results matching ""

    No results matching ""