驗證應用程式模組結構
我們可以透過呼叫 ApplicationModules 例項上的 ….verify() 方法來驗證我們的程式碼結構是否符合預期約束
-
Java
-
Kotlin
ApplicationModules.of(Application.class).verify();
ApplicationModules.of(Application::class.java).verify()
驗證包括以下規則
Spring Modulith 可選地與 jMolecules ArchUnit 庫整合,如果存在,則自動觸發此處描述的領域驅動設計和架構驗證規則。
處理檢測到的違規
如果檢測到任何架構違規,ApplicationModules.verify() 將丟擲異常。您可以透過呼叫 ApplicationModules.detectViolations() 來訪問這些違規以便進一步處理,例如忽略某些違規。
ApplicationModules.of(…)
.detectViolations()
.filter(violation -> …)
.throwIfPresent();
自定義驗證
如上文所述,預設情況下,ApplicationModules.verify(…) 和 ….detectViolations(…) 都會根據類路徑配置自動執行額外的驗證。
要自定義、停用或註冊額外的驗證,verify(…) 和 detectVolations(…) 都接受一個 VerificationOptions 例項。
var hexagonal = JMoleculesArchitectureRules.ensureHexagonal(VerificationDepth.STRICT); (1)
var options = VerificationOptions.defaults().withAdditionalVerifications(hexagonal); (2)
ApplicationModules.of(…).verify(options); (3)
| 1 | 在嚴格模式下為六邊形架構設定 jMolecules 架構驗證。 |
| 2 | 建立一個 VerificationOptions 例項,用剛剛設定的驗證替換預設驗證。 |
| 3 | 使用剛剛配置的選項執行驗證。 |