728x90
- 계층형 구조와 도메인형 구조 프로젝트 구조중 하나를 선택해야 했습니다.
계층형 구조
- Controller
-Student
-Teacher
-Admin
-Service
-Student
-Teacher
-Admin
-Repository
-Student
-Teacher
-Admin
장점
- 패키지 구조만 봐도 전체적인 구조를 보기 편합니다.
- 계층별 응집도가 올라갑니다.
단점
- 규모가 커지면 여러 목적의 클래스들이 모여서 구별하기 힘듭니다.
- 도메인별 응집도가 낮습니다.
도메인형 구조
Student
-controller
-Service
-Repository
Teacher
-Controller
-Service
-Repository
Admin
-Controller
-Service
-Repository
장점
- 도메인과 관련된 변경이 필요할때, 도메인 관련된 패키지만 보면 됩니다.
- 유스케이스별로 세분화할 수 있습니다.
단점
- 프로그램의 전반적인 흐름을 파악하기 어렵습니다.
- 어느 패키지에 둘지 애매한 클래스가 생길 수 있습니다.
규모가 작고 도메인이 적은 경우 계층형 구조를 사용하면 좋습니다.
규모가 크고 도메인이 많은 경우 도메인형 구조를 사용하면 좋습니다.
이번 프로젝트는 도메인형 구조로 선택하였습니다.
유저별로 클래스를 나누게 되었습니다. General 패키지에는 유저 공통으로 기능하는 클래스를 넣습니다. Global 패키지에는 도메인 전역으로 사용되는 클래스들을 넣기로 하였습니다. Common 패키지에는 Config와 같은 개발 설정을 넣기로 하였습니다
'EngleBee 프로젝트' 카테고리의 다른 글
[study] CI/CD 파이프라인 구축 (0) | 2024.08.23 |
---|---|
[study] JPA 연관관계 맵핑 주인 (0) | 2024.08.20 |
[study] github 프로젝트와 마일스톤 그리고 이슈 (0) | 2024.08.18 |
[트러블슈팅] 수업 생성 로그 테이블 생성 (0) | 2024.08.16 |
[Study] WebRTC : NAT, ICE, STUN, TURN에 대하여 (0) | 2024.08.15 |