多後端系統的模組劃分方案
問題
例:我要做一個多後端2d圖形庫,後端有vulkan,opengl、directx等,那麼這個圖形庫如何劃分模組?
方案一:不劃分模組
不劃分模組,所有東西統統塞進一個模組裡
優點
- 直接秒殺一切模組劃分問題,哪管那麼多的瑣碎破事
- 瑞士軍刀
缺點
- 使用時,模組含有過多冗餘功能,導致強迫症不適
- 肥
適用範圍
- 適用於輕量級系統,輕到覺得劃分模組很傻x的那種系統
- 適用於懶得劃分模組的專案
方案二:Core、Share、Impl三層模組
Core模組:排程中樞
Core模組引用Share模組和所有的Impl模組,實現了對各類Impl的集中統一管理,是整個系統的面向使用者的排程中樞,使用者通過安裝Core模組便可立即使用類庫
Share模組:公用介面
Share模組作為各類Impl都要使用的內容,一般盛放公用介面等內容
Impl模組:詳細實現
Impl模組是各種功能的分離實現,一個系統含有多個Impl模組,每一個Impl模組實現一種後端
優點
- 精準劃分,強迫症十分舒適
- 瘦
缺點
- 模組多,不便於管理
適用範圍
- 適用於重量級系統,重到覺得不劃分模組很傻x的那種系統
- 適用於“分許多模組能帶來快感”的群體
Share模組和Core模組功能類似,為什麼不把他倆合併呢?
Share模組包含Impl模組的公用介面,Impl引用Share模組
Core模組是所有實現的排程中心,引用所有Impl模組
如果Share模組和Core模組合併,那麼Core引用Impl,Impl又引用Share,Share和Core還是一個東西,就會造成迴圈引用。編譯Core的時候就會去先編譯Impl,編譯Impl又需要編譯完Core做前提,無限迴圈,導致專案無法正常編譯
相關文章
- 系統模組劃分設計的思考
- 後臺管理系統CMS模組-後端實現後端
- 將maven專案劃分為多個模組Maven
- Broker模組劃分
- 開發一個大型後臺管理系統,應該用前後端分離的技術方案嗎?後端
- iOS應用模組化的思考及落地方案(一)模組的劃分及模組化工作流程iOS
- OA系統模組設計方案
- 中後端管理系統前後分離、前端框架的實現拙見後端前端框架
- R/3 基本模組的劃分: (轉)
- 使用 Router 思想劃分模組
- SpringBoot+Vue前後端分離系統搭建Spring BootVue後端
- JAVA oa 系統模組設計方案Java
- linux 下檔案系統的劃分Linux
- 探討可用於實踐的前後端分離方案後端
- maven最佳實踐:劃分模組Maven
- 基於 hyperf,vuetify,casbin 開發的前後端分離管理系統Vue後端
- Web系統開發構架再思考-前後端的完全分離Web後端
- 前後端分離後臺管理系統 Gfast v3.0 全新發布後端AST
- Laravel8.x+Vue+AntDesign前後端分離後臺管理系統LaravelVue後端
- 基於 ThinkPHP6 開發的模組化前後臺分離管理系統PHP
- java 考試系統 模組架構方案Java架構
- OA 系統原始碼模組設計方案原始碼
- JAVA 考試系統模組設計方案Java
- 通用的前後端分離專案技術與框架方案後端框架
- 開發ejb如何劃分模組,使模組粒度合理
- LINUX 檔案系統損壞後遠端修復方案薦Linux
- 前後端分離使用 Token 登入解決方案後端
- 自動駕駛系統的決策規劃模組介紹自動駕駛
- 基於 Spring Security 的前後端分離的許可權控制系統Spring後端
- 三分鐘做一個前後端系統,bee 做到了後端
- Laravel Vue 前後端分類模組化外掛化開發疑惑LaravelVue後端
- Catchadmin 基於 Tp6 的 前後端分離後臺管理許可權系統後端
- 電商後臺---採購系統規劃
- OA 辦公管理系統模組 設計方案
- java OA 辦公系統 模組設計方案Java
- JAVA oa 辦公系統模組 設計方案Java
- 多商戶商城系統方案分析
- 超簡單的前端跨域、前後端分離解決方案前端跨域後端