ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 도메인 설계
    스프링 2023. 1. 6. 19:40

    패키지 구조 설계

     

    도메인이 가장 중요하다.

    도메인 = 화면, UI, 기술 인프라 등등의 영역은 제외한 시스템이 구현해야 하는 핵심 비즈니스 업무 영역을 말한다.

    Controller나 화면 폼은 핵심 도메인이 아닌 보여주는 화면이다.

    핵심 도메인은 처리되는 비즈니스 로직을 말한다. ex(Item, ItemRepository)

     

    패키지 구조가 다음과 같이 되어 있다고 해보자.

     

    • domain
      • item
      • member
      • login

     

    • web
      • item
      • member
      • login

     

    향후 web을 API등등으로 다른 기술로 바꾸어도 도메인은 그대로 유지할 수 있어야 한다.

    이렇게 하려면 web은 domain을 알고있지만 domain은 web을 모르도록 설계해야 한다.

    domain이 web을 사용하고 있다면 web을 다른 기술로 대체할때 오류가 발생한다.

     

    이것을 web은 domain을 의존하지만, domain은 web을 의존하지 않는다고 표현한다(단방향 의존).

    예를 들어 web 패키지를 모두 삭제해도 domain에는 전혀 영향이 없도록 의존관계를 설계하는 것이 중요하다.

    반대로 이야기하면 domain은 web을 참조하면 안된다.

    728x90

    '스프링' 카테고리의 다른 글

    로그인 처리 - 세션1  (0) 2023.01.07
    로그인 처리 - 쿠키  (0) 2023.01.06
    ModelAttribute  (0) 2023.01.01
    스프링 MVC의 사용  (0) 2022.12.26
    핸들러 매핑, 핸들러 어댑터, 뷰 리졸버  (0) 2022.12.26

    댓글

Designed by Tistory.