Application, domain, infrastructure, presentation로 구분하려고 함.
테이블이 22개 정도 나왔는데, 도메인 별로 패키지를 22개를 짜야하는 건 아닌 것 같아 나름 묶어봄
Application에서 Repository를 주입 받을 예정인데, 테이블 수만큼 Repository를 만들고 필요한 걸 다 주입 받으면 코드 가독성면과 유지보수, 추후 확장에 있어서 제약이 큼
Repository는 테이블 수만큼 infra 레이어에서 만들되 Application에 port interface를 만들어 이 인터페이스의 구현체에다 멤버 변수로 여러 곳에서 참조 안 하는 레포들 멤버 변수로 주입 받기?
이렇게 하면 추후 MSA로 확장할 때 쉽게 떼낼 수 있음. 이 작업을 안 하면 테이블 100개일 시 100개의 서버들로 쪼개 통신을 해야할 수도? 이건 말이 안 된다
User와 Problem 같이 여기저기서 쓰이는 레포는 직접 주입 받고, Post, Postlike, comment, commentlike 이 네 개는 하나로 묶어도 지장 없을 듯 함