- 軟件交付通識(shí)
- 董越
- 629字
- 2022-05-06 13:18:17
3.7 技術(shù)方面的演進(jìn)
以上介紹的內(nèi)容主要是軟件開發(fā)過程方面的探索。下面簡(jiǎn)要回顧一下技術(shù)方面的演進(jìn)。
3.7.1 軟件架構(gòu)
早在軟件工程時(shí)代,即誕生了結(jié)構(gòu)化編程:不能goto跳來跳去,應(yīng)該有良好的程序結(jié)構(gòu);還應(yīng)該是模塊化的,模塊之間有清晰的分工和邊界。
后來面向?qū)ο蟪蔀槌绷鳌C嫦驅(qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)、面向?qū)ο笳Z言支持面向?qū)ο缶幊虒?shí)現(xiàn)。看那時(shí)的宣傳材料,仿佛面向?qū)ο缶湍軌蚪鉀Q所有問題。
同時(shí),人們對(duì)模塊化也不斷有了新的認(rèn)識(shí)和實(shí)踐,衍生出組件、插件等方式,以及靜態(tài)鏈接庫、動(dòng)態(tài)鏈接庫等實(shí)現(xiàn)方法。在這方面,近些年最重要的趨勢(shì)是,大型單體應(yīng)用被越來越多地拆分為微服務(wù)甚至函數(shù)服務(wù)。本質(zhì)上,系統(tǒng)的不同部分,不再是構(gòu)建時(shí)被組裝到一起,而是運(yùn)行時(shí)被組裝到一起。這意味著解耦得更好、靈活性更強(qiáng)。
軟件復(fù)用也越來越被重視,因?yàn)閺?fù)用已有的工作成果,可以使新產(chǎn)品、新功能的開發(fā)更快、成本更低。事實(shí)上,這幾年中臺(tái)概念的火爆,說到底就是得益于軟件復(fù)用做得好。那么如何復(fù)用呢?可以共享某些組件,也可以共享平臺(tái)/框架供不同的插件接入。不論怎么復(fù)用,首先都要把系統(tǒng)架構(gòu)設(shè)計(jì)好,特別是要做好分層。
3.7.2 部署運(yùn)行
在部署運(yùn)行方面,先是出現(xiàn)了虛擬機(jī)技術(shù),把一臺(tái)實(shí)體物理機(jī)分割成若干虛擬機(jī),降低了成本。不論是實(shí)體物理機(jī)還是虛擬機(jī),Puppet、Ansible、Chef等服務(wù)器配置管理工具都讓運(yùn)維人員輕松了不少。
隨后是以Docker為代表的容器技術(shù)逐步成熟和實(shí)用。在容器編排管理方面,Kubernetes已成為事實(shí)上的工業(yè)標(biāo)準(zhǔn)。而基于容器及其編排的云原生(Cloud Native)這個(gè)概念也越來越受到關(guān)注。
- Core Data應(yīng)用開發(fā)實(shí)踐指南
- MacTalk 跨越邊界
- App草圖+流程圖+交互原型設(shè)計(jì)教程
- Android 網(wǎng)絡(luò)開發(fā)與應(yīng)用實(shí)戰(zhàn)詳解
- 經(jīng)·理@互聯(lián)網(wǎng)產(chǎn)品經(jīng)理的進(jìn)階修煉
- Android游戲開發(fā)大全
- 中文版Revit 2018基礎(chǔ)培訓(xùn)教程(全彩版)
- Python與數(shù)據(jù)挖掘
- 開發(fā)者關(guān)系:方法與實(shí)踐
- Python跨平臺(tái)應(yīng)用軟件開發(fā)實(shí)戰(zhàn)
- 自己動(dòng)手構(gòu)造編譯系統(tǒng):編譯、匯編與鏈接
- 軟件架構(gòu)指標(biāo):度量軟件系統(tǒng)的性能和架構(gòu)質(zhì)量
- 軟件自動(dòng)化測(cè)試成功之道:典型工具、腳本開發(fā)、測(cè)試框架和項(xiàng)目實(shí)戰(zhàn)
- Spring Boot+Vue 3大型前后端分離項(xiàng)目實(shí)戰(zhàn)
- MATLAB函數(shù)速查手冊(cè)(修訂版)