필요한 관련 용어 및 개념
- 의존성을 낮춰야함
- 단일모듈 멀티 프로젝트 , 멀티모듈 단일 프로젝트
- 모듈화
- DDD
- MSA
- 객체지향
- Layered Architecture
멀티모듈 문제점
- 똑같은 코드를 복붙해야하면서 오타를 내는 문제들 > 사람에게 의존적
- 공통모듈이 너무 커지면 common에 비즈니스로직들이 스파게티로 호출
- 분리하기가 어려워짐. 스파게티코드> 전체서비스가 동작안하는 영향을 받는문제..
- 의존성 덩어리 : 공통 프로젝트에서 많은 의존성을 가지면.. 의도치않은 의존성이 생겨..네티가 아닌 제티가..들어가있음..
- 공통설정 문제 : 데이터베이스 커넥션 문제 , 다른 어플리케이션이 커넥션 가져가는..스케일 아웃해야하는데..커넥션 부족
- 중복을 제거하가 위해 공통을 만들어놨는데, 그 공통 코드 때문에 발생하는 여러 문제들..이 생긴다. 모듈 간의 의존성 관리에 주의를 기울여야 합니다
- 모듈에 대한 정의가 모호..커먼이 아니라 , 모듈화?
모듈화
- 복잡성과 재사용성
- 응집력이 높고 결합도가 낮은 모듈을 어떻게 구성할 것인가
- 구조에 대한 접근의 변화