왠만한 문제는 대부분 레이어드 아키텍처..
이해하기 쉬우니 알려주는 것
상향식 접근은 애플리케이션이 db , jpa 종속되는 문제
하향식은 프레임워크에 종속 됨.
레스트 api 부터 고민하기 때문 .. ( 내가 이런다)
상향식으로 하향식으로하던 중요하지 않는 것들에 대해 집중해
도메인이 제일 중요한데.
use case 먼저 파악을 해야 된다.
이를 처리하는 도메인과 도메인 관계를 먼저 생각 해야되고
스프링과 jpa가 얹혀져야 된다.
동시작업성도 떨어짐. (근본적으로 절차지향 코드에 문제점)
usecase가 바뀌면 서비스가 바뀌어야된다.
그리고 얼추 외부 클린아키텍쳐에 맞는다
외부세계에서 내부세계로 향하는 방향을 단방향으로해서 내부세계를 독립시킨다
구분하는게 꽤나 중요하다?
도메인엔티티 , DB 엔티티 , 영속성 객체 구분하는게 중요하다
도메인 객체랑 혼용되서 쓰는 용어지만
비즈니스에 초첨이 맞춰져 있다
초기 객체지향 분야 데이터베이스 분야는 비슷한 고민을 갖고 문제를 해결하기 위해 노력함
그래서 둘다 엔티티란 용어를 썼는데?
객체지향에선 클래스로 표현되고 , 디비에선 테이블로 표현됨??
도메인 엔티티 -> 고민하고있는 비즈니스 영역 해결
영속성 객체 -> 관계형 디비에 있는 데이터를 객체로 맵핑해주는 녀석
DB 엔티티는 RDB에서 원래 쓰던용어
약간씩 다르다.
3개를 합치냐 마냐 호불호 문제
도메인 모델을 엔티티에 붙이는순간? rdb에 종속되기 때문에 분리하는게 좋다