f-lab-edu / awesome-wiki

[연봉 5000만원 이상 이직] Spring framework 를 이용한 다중 접속 Wiki
15 stars 4 forks source link

#28 Use case 중심으로 프로젝트 구조 개편 #31

Closed FrancescoJo closed 3 years ago

FrancescoJo commented 3 years ago

History 보존용 PR

kmmin78 commented 3 years ago

커스텀 어노테이션의 사용 이유를 알 수 있을까요? 메타 어노테이션 말고 다른 추가 내용은 없는 것 같은데, 이럴 경우 어떤 이득을 얻을 수 있는지 궁금합니다.

FrancescoJo commented 3 years ago

UserRegistrationPolicy/DocumentFormatPolicy의 매직넘버들의 경우 현 상태 그대로 진행되는것인지 추후 db나 ini파일같은 외부 파일에서 로드하는것으로 바뀌는것인지 궁금합니다

나중에는 application.yml 로 뺄 거에요. Spring 의 @Configuration 같은 어노테이션을 쓰면 빼낼 수 있습니다.

FrancescoJo commented 3 years ago

커스텀 어노테이션의 사용 이유를 알 수 있을까요? 메타 어노테이션 말고 다른 추가 내용은 없는 것 같은데, 이럴 경우 어떤 이득을 얻을 수 있는지 궁금합니다.

Spring 의존성을 제거할 수 있으니까요. 우리만의 별도로 구현한 Bean loader 를 Spring 의존성이 있는 모듈에만 작성하면 core 모듈은 spring 과 의존성이 완전히 없어지기 때문에 이식성이 좋아지기 때문입니다. 만약 이게 특정 회사의 프로젝트라면 어떻게 될까요? 회사 비즈니스 전체가 Spring framework 에 종속되는 상황이 과연 올바를까요?

하지만 이건 데모일 뿐이고, 여러분들 대상으로는 나중엔 Custom annotation 은 리팩토링 대상입니다.