Apache Isis:基於領域驅動自動生成SpringBoot介面的快速CRUD開發工具
Apache Isis是基於業務領域驅動而自動生成SpringBoot介面的開源RAD工具:
- 生產力- 該應用程式主要是業務邏輯,消除了昂貴的 UI 程式碼。
- 發現——業務領域專家和技術人員可以攜手合作,瞭解問題空間,然後瞭解解決方案空間。
- 易於使用- 業務使用者會發現該應用程式易於學習,因為業務概念是前沿和中心
- 清潔clean架構- 該框架確保在您的應用程式的內部架構中分離關注點
- 簡單整合- 自動釋出用於非同步整合的通用域事件和用於同步整合的 REST API。
由於 Apache Isis是開源的,基於 Spring Boot 等行業/事實標準構建,因此沒有供應商鎖定。
工作原理:
- Apache Isis直接從底層領域物件動態構建通用使用者介面和豐富的超媒體 REST API。這使得原型製作速度極快,反饋週期短,非常適合敏捷開發。UI 也可以針對特定用例進行擴充套件,並且可以使用 Bootstrap 進行主題化。
- Apache Isis應用程式的核心是領域物件,可以是持久實體,也可以是檢視模型。業務規則可以直接與域物件相關聯,也可以分解為單獨的服務。Apache Isis 到處執行依賴注入,以確保應用程式保持解耦和可測試。
- Apache Isis 包括大量用於安全、審計、命令分析、郵件合併和其他橫切關注點的附加模組。它還具有許多用於地圖、日曆等的 UI 擴充套件。所有這些都是開源的,專為開箱即用或根據需要進行修改而設計。
適合中小公司業務需求的 crud 應用程式的最佳方法,目標是儘可能快地開發並可靠地啟動和執行可能帶有小型儀表板的 crud 應用程式。
Python的django是第一個顯而易見的選擇:開箱即用的出色工作 ORM 和管理介面。然而,構建簡潔的使用者介面的需求可以透過構建模板來解決,以建立一種內部“crud generator”;但是新增表單驗證和其他東西往往會很快耗盡所需的工作量(以及這種情況下的時間)。
Apache Isis可以加入任何需要的業務邏輯;免費得到一個漂亮的使用者介面;如果有一天我的粗糙的應用程式需要統一成一個成熟的商業應用程式,也不會有太多 "程式碼浪費"。
另外一個RAD工具是JHipster,它使用了 Java 和 Angular 中的許多最佳實踐,雖然一開始並不是很快,但它有很多細微差別和技巧,JHipster是資料庫表驅動的,沒有領域物件作為核心,直接從資料表匯出API,以後希望用Java增加一些業務規則或ifelse語句,找不到適當的地方,它且不是Clean架構,沒有實現業務邏輯和技術基礎設施分離。
相關文章
- Apache Isis 1.0 釋出,領域驅動開發框架Apache框架
- 領域模型驅動開發(1)模型
- 基於上下文圖的策略性領域驅動開發
- 前端開發-領域驅動設計前端
- 領域驅動設計簡介
- 領域驅動設計與敏捷開發敏捷
- 基於命令列的WINCE驅動開發工具命令列
- 領域驅動設計 (DDD) 簡介 - jannikwempe
- 基於WDF的驅動開發
- 行為驅動開發(BDD)如何與領域驅動設計(DDD)結合?
- 自動生成特定領域模型和圖表模型
- 領域驅動設計--戰術模式簡介模式
- DDD領域驅動設計:領域事件事件
- Java開發架構篇:領域驅動設計架構基於SpringCloud搭建微服務Java架構SpringGCCloud微服務
- 請教板橋老師關於領域驅動開發設計問題
- 領域驅動和MVVM應用於UWP開發的一些思考MVVM
- EntityFramework之領域驅動設計實踐介紹Framework
- PHP的領域驅動設計書籍介紹PHP
- 理解領域驅動設計
- MasaFramework -- 領域驅動設計Framework
- 領域驅動設計示例
- 領域模型驅動開發(2)-工程結構的調整模型
- 基於測試驅動的iOS開發iOS
- 領域驅動中關於併發問題怎麼處理
- 領域驅動設計戰術模式--領域事件模式事件
- 戲說領域驅動設計(廿五)——領域事件事件
- 讀書系列-《解構領域驅動》-領域概念
- 領域驅動系列:澄清一些基礎概念
- 領域驅動設計及其優點介紹 - DEV社群dev
- DDD(Domain Driver Designer) 領域驅動設計簡介AI
- 實現領域驅動設計
- 領域驅動設計核心概念
- 領域驅動設計戰術模式--領域服務模式
- 關於領域驅動設計,大家都理解錯了
- 基於MongoDb官方C#驅動封裝MongoDbCsharpHelper類(CRUD類)MongoDBC#封裝CSharp
- Java開發架構篇《初識領域驅動設計DDD落地》Java架構
- Java開發架構篇:初識領域驅動設計DDD落地Java架構
- 基於函數語言程式設計的領域驅動設計 - Scott Wlaschin函數程式設計