헥사고날
4-layered
서로의 의존도를 낮추고 싶다는게 핵심!
서비스 입장에서 봤을 때 다양한 클래스들을 의존해야 할 수도 있음
의존도 높을수록 변경에 예민해지고 테스트 코드 불리해짐
인터페이스로 풀고, 의존 방향 단방향
기존
record
사용@NoRepositoryBean
public interface BaseRepository<T, ID> extends JpaRepository<T, ID> {
default T findByIdOrElseThrow(ID id) {
return findById(id).orElseThrow(() ->
new BusinessException(ResultCode.NOT_FOUND, "해당 Entity를 찾을 수 없습니다. id = " + id)
);
}
}
common —
├── presentation 111111 <---- 표현 계층