最佳實踐總覽
本節提供使用 AppFuse Server 開發的最佳實踐指南。
核心原則
1. 模組化設計
按業務領域組織程式碼,而非按技術層:
✅ 推薦:
domain/
├── product/
│ ├── Product.java
│ ├── ProductRepository.java
│ └── ProductService.java
└── order/
├── Order.java
├── OrderRepository.java
└── OrderService.java
❌ 避免:
entity/
├── Product.java
└── Order.java
repository/
├── ProductRepository.java
└── OrderRepository.java
2. 封裝與可見性
使用 package-private 封裝內部實作:
// Product.java - package-private
@Entity
class Product {
// 只能在 domain.product 套件內使用
}
// ProductService.java - public API
@Service
public class ProductService {
// 對外公開的服務介面
}
3. 配置分離
- 共用配置 →
application.yml - 環境特定 →
application-{env}.yml - 敏感資訊 → 環境變數
4. 測試驅動
- 單元測試:測試業務邏輯
- 整合測試:測試資料庫操作
- API 測試:測試 REST 端點
最佳實踐主題
- 資料庫設計 - Entity、主鍵、稽核欄位與資料層原則
- 第一個 API - REST Controller、DTO、Service 與 Repository 的完整入門
- 錯誤處理 - 統一錯誤回應與例外映射
- 後端測試 - 單元、整合與 API 測試策略
- 快取模組與快取範例 - 查詢與效能熱點的快取策略
- Security與權限模型 - 認證、授權與應用政策邊界
參考資源
- app-tenant-server - 參考實作展示這些最佳實踐