Back-End/Spring

[Spring MVC2][로그인 처리] - 디렉토리(directory) 방향

얄루몬 2022. 5. 13. 12:38

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다.

https://inf.run/vQHp

 

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의

웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있

www.inflearn.com


[디렉토리의 분리]

디렉토리

 

[Domain?]

Domain?
UI, 화면, 기술 인프라와 같은 영역을 제외한 시스템이 구현해야 하는 핵심 비지니스 업무 영역을 도메인이라고 한다.

해결하고자 하는 문제 영역 = 도메인

  • 위의 디렉토리 상황을 살펴보면 web과 domain을 크게 나누었다.
  • 이 이유는 도메인은 웹이 바뀌어도 도메인은 최대한 유지하며 개발할 수 있어야 하기 때문이다.
  • 다시 말해 도메인은 웹(부가적으로 구현해야 하는 부분)을 참조하지 못하고 웹은 도메인을 참조할 수 있다는 말이다.
    • 도메인은 웹에 의존적이면 안 되지만 웹은 도메인에 의존적이어도 된다.
    • 웹이 변경되어도 도메인은 변경되면 안 된다. 

 

[의존관계의 단방향]

도메인의 의존관계

  • 다시 말해서 향후 부가적인 기술들을 다른 기술로 바꾸어도 도메인은 그대로 유지할 수 있어야 한다.
  • 이렇게 설계가 가능하도록 하려면 web은 domain을 알고 있어도 되지만 domain은 web을 모르도록 설계해주어야 한다.
  • 이것을 web은 domain에 의존하지만 domain은 web을 의존하지 않는다고 표현하며 예를 들어 web 패키지를 모두 삭제해도 domain에는 전혀 영향이 없도록 의존관계를 설계해야 한다.
  • 반대로 이야기 하면 domain은 web을 참조하면 안 된다.
  • 의존관계의 단방향이 핵심인 셈이다.(웹은 도메인을 의존하지만 도메인은 웹을 의존하지 않는 것이 단방향임)

 

우리는 이제 이 부분을 명시한 채로 구현에 들어간다.