ฉันใช้ประโยชน์จากคู่มือสไตล์ AngularJS ภายในคู่มือนี้มีรูปแบบที่เรียกว่าfolder-by-feature
แทนที่จะเป็นfolder-by-type
และฉันอยากรู้จริง ๆ แล้วว่าอะไรคือวิธีที่ดีที่สุด (ในตัวอย่างนี้สำหรับ Java)
สมมติว่าฉันมีแอปพลิเคชันที่ฉันสามารถดึงผู้ใช้และสัตว์เลี้ยงโดยใช้บริการตัวควบคุมที่เก็บและวัตถุโดเมนของหลักสูตร
ด้วยรูปแบบโฟลเดอร์โดย -..... เรามีสองตัวเลือกสำหรับโครงสร้างบรรจุภัณฑ์ของเรา:
1. โฟลเดอร์ตามประเภท
com.example
├── domain
│ ├── User.java
│ └── Pet.java
├── controllers
│ ├── UserController.java
│ └── PetController.java
├── repositories
│ ├── UserRepository.java
│ └── PetRepository.java
├── services
│ ├── UserService.java
│ └── PetService.java
│ // and everything else in the project
└── MyApplication.java
2. คุณสมบัติแบบโฟลเดอร์
com.example
├── pet
│ ├── Pet.java
│ ├── PetController.java
│ ├── PetRepository.java
│ └── PetService.java
├── user
│ ├── User.java
│ ├── UserController.java
│ ├── UserRepository.java
│ └── UserService.java
│ // and everything else in the project
└── MyApplication.java
อะไรจะเป็นวิธีการที่ดีและอะไรคือข้อโต้แย้งที่จะทำเช่นนั้น?
Pet
ตัวควบคุมพื้นที่เก็บข้อมูลและบริการ ในสถานการณ์ใดที่ฉันต้องการตัวควบคุมทั้งหมด แต่ไม่ใช่ในมุมมอง repos หรือบริการ