軟件設(shè)計的分層
- 系統(tǒng)級設(shè)計架構(gòu)
- 應(yīng)用級架構(gòu)
- 模塊級架構(gòu)
- 代碼級架構(gòu)
1) 系統(tǒng)級設(shè)計架構(gòu)
-
應(yīng)用在整個系統(tǒng)內(nèi),如與后臺服務(wù)如何通信,與第三方系統(tǒng)如何集成
-
包括業(yè)務(wù)的關(guān)系和協(xié)作的機制
-
設(shè)計后端:與后臺數(shù)據(jù)傳遞的機制
-
包括:api設(shè)計規(guī)則,訪問授權(quán)的一個開放標(biāo)準(zhǔn)(OAuth)跳轉(zhuǎn)token的驗證, 數(shù)據(jù)傳遞cookie等
-
前端與后端的關(guān)系考慮的主要因素是:前后端分離的架構(gòu)設(shè)計
-
前后端分離架構(gòu)其實是如何實施技術(shù)決策,用戶鑒權(quán),api接口管理和設(shè)計,api文檔管理,mock的使用,BFF(服務(wù)于前端的后端,nodejs), 是否需要服務(wù)端渲染等
-
舉例:微前端架構(gòu)
- 在一個系統(tǒng)內(nèi)微前端是應(yīng)用間的架構(gòu)方案
- 在多個應(yīng)用之間,微前端則是一種系統(tǒng)間的架構(gòu)方案,負責(zé)調(diào)度多個子應(yīng)用
- 微前端是將多個前端應(yīng)用合在一起使用
- 旨在解決單體應(yīng)用在一個相對長的時間跨度下,由于參與人員、團隊的增多,變遷,從一個普通應(yīng)用演變成一個巨石應(yīng)用(Frontedn Monolith)后,隨之而來的應(yīng)用不可維護的問題
-
微前端的實現(xiàn)形式,有兩種
- 單實例:同一時刻,只有一個子應(yīng)用被展示,子應(yīng)用具備一個完整的應(yīng)用生命周期
- 多實例:在同一時刻,多個子應(yīng)用被展示
- 通常,使用Web Components 方案來做子應(yīng)用的封裝,子應(yīng)用更像是一個業(yè)務(wù)組件而不是應(yīng)用
-
兩者都說是基于url的變化來做子應(yīng)用的切換,由此在設(shè)計的時候,微前端的架構(gòu)設(shè)計可以理解為系統(tǒng)級架構(gòu),也可以理解為應(yīng)用級架構(gòu)
-
2)應(yīng)用級架構(gòu)
- 應(yīng)用級架構(gòu)可看做是系統(tǒng)級架構(gòu)的細化
- 單個應(yīng)用與其他外部應(yīng)用的關(guān)系,微服務(wù)架構(gòu)下多個應(yīng)用的協(xié)作,數(shù)據(jù)交換等
- 應(yīng)用級架構(gòu)的設(shè)計形式
- 應(yīng)用間的腳手架:應(yīng)用的生成,項目的生成
- 模式庫:方法和UI庫等
- 設(shè)計系統(tǒng):整體應(yīng)用內(nèi)部實現(xiàn)的功能與外部的信息交互
3)模塊級的架構(gòu)文章來源:http://www.zghlxwxcb.cn/news/detail-726095.html
- 可理解為業(yè)務(wù)編碼之前的設(shè)計
- 關(guān)注模塊內(nèi)如何組織相關(guān)的業(yè)務(wù)邏輯
4) 代碼級架構(gòu)文章來源地址http://www.zghlxwxcb.cn/news/detail-726095.html
- 規(guī)范與原則
- 實操:開發(fā)流程,代碼質(zhì)量以及改善,規(guī)范而非默契
軟件開發(fā)需要注意的內(nèi)容
- 注意可維護性,可擴展性
- 簡單代碼可維護性高,越是寫的抽象的代碼,越難以維護
-
這里需要注意下
- 在系統(tǒng)常規(guī)業(yè)務(wù)開發(fā)的時候可以簡單來
- 但是在實現(xiàn)抽象庫,核心庫, 該抽象的時候必須抽象和高擴展性,寫好文檔
- 一個程序員的深度可以表現(xiàn)在他(她)能寫出多抽象的代碼
到了這里,關(guān)于設(shè)計模式: 軟件設(shè)計的分層與軟件開發(fā)注意事項的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!