系統(tǒng)和子系統(tǒng)逸绎、架構(gòu)和框架、模塊和組件

平時(shí)學(xué)習(xí)一些編程相關(guān)的技術(shù)夭谤,除了買書看之外就是通過搜索引擎找相關(guān)資料棺牧,例如從官網(wǎng)上獲取最新技術(shù)文檔(雖然看不懂英文,但是可以借助翻譯工具達(dá)到這個(gè)目的)或者是在CSDN朗儒、博客園颊乘、思否、infoQ等網(wǎng)站獲取一些編程語言/技術(shù)框架等知識(shí)采蚀。當(dāng)然了疲牵,記得初學(xué)編程的時(shí)候,大多就是去w3cschool和菜鳥教程學(xué)習(xí)榆鼠,一來覺得實(shí)用性相對(duì)比較強(qiáng)纲爸,二來比較系統(tǒng)。

這周一在極客時(shí)間買了一個(gè)知識(shí)付費(fèi)專欄叫做《從0開始學(xué)架構(gòu)》妆够,初看感覺還不錯(cuò)识啦,于是接連下來看了8章,覺得還是有一定的收獲神妹。

讀了《從0開始學(xué)架構(gòu)》颓哮,對(duì)第一篇文章架構(gòu)到底是什么頗有啟發(fā),下面我給大家說說系統(tǒng)和子系統(tǒng)鸵荠、架構(gòu)和框架冕茅、模塊和組件。

一蛹找、系統(tǒng)和子系統(tǒng)

大家對(duì)于系統(tǒng)和子系統(tǒng)這個(gè)概念想必都有所了解姨伤。當(dāng)然了,也有不少十分清楚的。

1.以人體為例,簡(jiǎn)單闡述系統(tǒng)的含義

人體由運(yùn)動(dòng)系統(tǒng)溉仑、神經(jīng)系統(tǒng)劲腿、內(nèi)分泌系統(tǒng)循環(huán)系統(tǒng)就珠、呼吸系統(tǒng)蛉威、消化系統(tǒng)仿荆、泌尿系統(tǒng)臊泌、生殖系統(tǒng)八大系統(tǒng)構(gòu)成鲤桥。

你可以理解為人體是一個(gè)系統(tǒng),而運(yùn)動(dòng)系統(tǒng)缺虐、神經(jīng)系統(tǒng)芜壁、內(nèi)分泌系統(tǒng)循環(huán)系統(tǒng)高氮、呼吸系統(tǒng)慧妄、消化系統(tǒng)、泌尿系統(tǒng)剪芍、生殖系統(tǒng)可以理解為它的子系統(tǒng)塞淹。

2.再以我曾經(jīng)在校開發(fā)的博客為例,闡述子系統(tǒng)的含義

我的博客就是一個(gè)系統(tǒng)罪裹,在這個(gè)系統(tǒng)里面饱普,它有用戶系統(tǒng)、文章系統(tǒng)状共、留言系統(tǒng)套耕、聊天系統(tǒng)等。而用戶系統(tǒng)峡继、文章系統(tǒng)冯袍、留言系統(tǒng)、聊天系統(tǒng)則屬于子系統(tǒng)碾牌。

二康愤、架構(gòu)和框架

1.架構(gòu)是什么(以軟件為例)

軟件架構(gòu)(software architecture)是一系列相關(guān)的抽象模式,用于指導(dǎo)大型軟件系統(tǒng)各個(gè)方面的設(shè)計(jì)舶吗。 軟件架構(gòu)是一個(gè)系統(tǒng)的草圖征冷。軟件架構(gòu)描述的對(duì)象是直接構(gòu)成系統(tǒng)的抽象組件。各個(gè)組件之間的連接則明確和相對(duì)細(xì)致地描述組件之間的通訊誓琼。在實(shí)現(xiàn)階段检激,這些抽象組件被細(xì)化為實(shí)際的組件,比如具體某個(gè)或者對(duì)象腹侣。在面向?qū)ο?/a>領(lǐng)域中呵扛,組件之間的連接通常用接口(計(jì)算機(jī)科學(xué))來實(shí)現(xiàn)。 軟件體系結(jié)構(gòu)是構(gòu)建計(jì)算機(jī)軟件實(shí)踐的基礎(chǔ)筐带。與建筑師設(shè)定建筑項(xiàng)目的設(shè)計(jì)原則和目標(biāo),作為繪圖員畫圖的基礎(chǔ)一樣缤灵,一個(gè)軟件架構(gòu)師或者系統(tǒng)架構(gòu)師陳述軟件構(gòu)架以作為滿足不同客戶需求的實(shí)際系統(tǒng)設(shè)計(jì)方案的基礎(chǔ)伦籍。

也許用這么官方的語言來形容蓝晒,你可能不會(huì)明白。

如果我換一種方式表達(dá)帖鸦,你或許就懂了芝薇。

比如:

(1)從開發(fā)規(guī)范的看:

Java開發(fā)常說的三層架構(gòu)(界面層、業(yè)務(wù)邏輯層作儿、數(shù)據(jù)訪問層)或者是MVC模式開發(fā)洛二。

(2)從物理部署的角度看:

可以用一張圖來表示,如下所示:

(3)再以我寫的書的思維導(dǎo)圖為例,如圖:

這也是一個(gè)架構(gòu)攻锰,只不過是一本書的架構(gòu)晾嘶。

2.框架是什么

從建筑學(xué)的角度看,框架(framework)是一個(gè)框子——指其約束性,也是一個(gè)架子——指其支撐性娶吞。是一個(gè)基本概念上的結(jié)構(gòu)垒迂,用于去解決或者處理復(fù)雜的問題。

以Spring框架為例妒蛇,為什么需要Spring框架机断,因?yàn)樵跊]有Spring之前,我們對(duì)于對(duì)象的管理方式绣夺,是通過手動(dòng)New進(jìn)行管理吏奸,而不是現(xiàn)在xml中bean的方式或者是Spring注解的方式來管理。

前人因?yàn)槭謩?dòng)管理對(duì)象陶耍,吃盡了苦頭奋蔚,所以開創(chuàng)了這一個(gè)偉大的框架,解放了Java程序員之前手動(dòng)管理對(duì)象的痛苦物臂。

任何一門技術(shù)誕生旺拉,都有其一定的必然性。比如現(xiàn)在有不少朋友公司沒有用傳統(tǒng)的SSH框架(Spring+Struts/Struts2+Hibernate)棵磷,轉(zhuǎn)用SSM(Spring+SpringMVC+MyBatis)或者是覺得SSM(Spring+SpringMVC+MyBatis)有其局限性不符合業(yè)務(wù)的需要而轉(zhuǎn)用SpringBoot或SpringCloud蛾狗。

三、模塊和組件

1.什么是模塊

百度百科對(duì)這個(gè)的定義是:

(1)在程序設(shè)計(jì)中仪媒,為完成某一功能所需的一段程序或子程序沉桌;

(2)或指能由編譯程序、裝配程序等處理的獨(dú)立程序單位算吩;

(3)或指大型軟件系統(tǒng)的一部分留凭。

模塊,又稱構(gòu)件,是能夠單獨(dú)命名并獨(dú)立地完成一定功能的程序語句的集合(即程序代碼和數(shù)據(jù)結(jié)構(gòu)的集合體)。它具有兩個(gè)基本的特征:外部特征和內(nèi)部特征偎巢。外部特征是指模塊跟外部環(huán)境聯(lián)系的接口(即其他模塊或程序調(diào)用該模塊的方式蔼夜,包括有輸入輸出參數(shù)、引用的全局變量)和模塊的功能压昼;內(nèi)部特征是指模塊的內(nèi)部環(huán)境具有的特點(diǎn)(即該模塊的局部數(shù)據(jù)和程序代碼)求冷。

最終瘤运,你可以將其認(rèn)為是一個(gè)系統(tǒng)中的功能模塊,比如登錄功能模塊匠题、文章管理模塊拯坟、留言管理模塊或者是系統(tǒng)監(jiān)控模塊等。

2.什么是組件

比如我在前端開發(fā)中常用的Ztree或者是MyBatis的分頁插件等韭山,你可以理解為組件郁季。通常組件是為了實(shí)現(xiàn)某個(gè)目的而引用的,比如Ztree是為了更好的展現(xiàn)組織關(guān)系钱磅、權(quán)限管理等梦裂。

小結(jié):

以上是我對(duì)于系統(tǒng)和子系統(tǒng)、架構(gòu)和框架续搀、模塊和組件的理解(當(dāng)然了塞琼,里面有個(gè)人在實(shí)際開發(fā)中的看法,同時(shí)也包含引用官方的說辭等)禁舷。

最后彪杉,該專欄作者提出了一個(gè)思考題,題目如下:

問:你原來理解的架構(gòu)是如何定義的?

答:我認(rèn)為我原來的理解和該專欄作者大體上是一致的牵咙,不過也許有差異派近。我認(rèn)為架構(gòu)貫穿整個(gè)軟件開發(fā)生命周期(以瀑布模式為例,項(xiàng)目的可行性洁桌、需求分析渴丸、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)另凌、編碼(代碼規(guī)范制定和核心代碼的編寫)谱轨、測(cè)試、部署等)吠谢。不僅僅包含這個(gè)還包含采用什么樣的技術(shù)及其業(yè)務(wù)是全部在一個(gè)項(xiàng)目上(單體應(yīng)用)或者分開(多體應(yīng)用)等等土童。

加2643804531樂樂老師為好友,她會(huì)發(fā)以往資料給您工坊,及時(shí)發(fā)課題給您哦

611481448献汗,這是我們的群號(hào),如果您有什么問題可以在群內(nèi)咨詢

免費(fèi)訂閱成功 可以領(lǐng)取精品深度學(xué)習(xí)課程資料一份王污!

這些僅僅只是我個(gè)人的看法罢吃,歡迎有更好想法的朋友留言。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末昭齐,一起剝皮案震驚了整個(gè)濱河市尿招,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖泊业,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件把沼,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡吁伺,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門租谈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來篮奄,“玉大人,你說我怎么就攤上這事割去】呷矗” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵呻逆,是天一觀的道長(zhǎng)夸赫。 經(jīng)常有香客問我,道長(zhǎng)咖城,這世上最難降的妖魔是什么茬腿? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮宜雀,結(jié)果婚禮上切平,老公的妹妹穿的比我還像新娘。我一直安慰自己辐董,他們只是感情好悴品,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著简烘,像睡著了一般苔严。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孤澎,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天届氢,我揣著相機(jī)與錄音,去河邊找鬼亥至。 笑死悼沈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的姐扮。 我是一名探鬼主播絮供,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼茶敏!你這毒婦竟也來了壤靶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤惊搏,失蹤者是張志新(化名)和其女友劉穎贮乳,沒想到半個(gè)月后忧换,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡向拆,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年亚茬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浓恳。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡刹缝,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出颈将,到底是詐尸還是另有隱情梢夯,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布晴圾,位于F島的核電站颂砸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏死姚。R本人自食惡果不足惜人乓,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望知允。 院中可真熱鬧撒蟀,春花似錦、人聲如沸温鸽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽涤垫。三九已至姑尺,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蝠猬,已是汗流浹背切蟋。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留榆芦,地道東北人柄粹。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像匆绣,于是被迫代替她去往敵國(guó)和親驻右。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理崎淳,服務(wù)發(fā)現(xiàn)堪夭,斷路器,智...
    卡卡羅2017閱讀 134,638評(píng)論 18 139
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,871評(píng)論 25 707
  • 男歡女愛是人間永恒的話題恨豁,不管是戀愛還是婚姻,男人幾乎是處于主動(dòng)主導(dǎo)的地位爬迟。 有人說:真正的愛情不是一時(shí)的好感橘蜜,一...
    奔跑的迷路人閱讀 293評(píng)論 0 0
  • 01 許多年前,我還在咸陽的時(shí)候雕旨,一直住在一個(gè)叫氓流村的地方扮匠。你定和我一樣,納悶為何這般起名凡涩。村子里除了有一戶養(yǎng)了...
    麥小丫閱讀 429評(píng)論 0 1
  • 當(dāng)清風(fēng)完美的一天, 風(fēng)帆就是要張開疹蛉。 美麗在全世界綻放活箕。 今天就是這樣一天。 我的眼睛就像太陽可款,做出許諾育韩; 許諾著...
    八戒和美好閱讀 657評(píng)論 0 0