1) 계층형 (layer)

- 전체 구조 파악 쉬움, 한 디렉토리에 클래스 수가 많아 불편

└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── demo
    │   │               ├── DemoApplication.java
    │   │               ├── config
    │   │               ├── controller
    │   │               ├── dao
    │   │               ├── domain
    │   │               ├── exception
    │   │               └── service
    │   └── resources
    │       └── application.properties

 

2)도메인형 (*추천*)

- 전체 구조 파악 어려움, 관련된 코드들이 응집

└── src
    ├── main
    │   ├── java
    │   │   └── com
    │   │       └── example
    │   │           └── demo
    │   │               ├── DemoApplication.java
    │   │               ├── member
    │   │               │   ├── api
    │   │               │   ├── application
    │   │               │   ├── controller
    │   │               │   ├── dao
    │   │               │   ├── domain(entity)
    │   │               │   ├── dto
    │   │               │   ├── exception
    │   │               │   ├── repository
    │   │               │   └── service
    │   │               ├── board
    │   │               │   ├── controller
    │   │               │   ├── domain
    │   │               │   ├── exception
    │   │               │   ├── repository
    │   │               │   └── service
    │   │               └── payment
    │   │                   ├── controller
    │   │                   ├── domain
    │   │                   ├── dto
    │   │                   ├── exception
    │   │                   ├── repository
    │   │                   └── service
    │   └── resources
    │       └── application.properties

+ Recent posts