中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

分層開發(fā)思想與小籠包

2018-07-20    來源:編程學(xué)習(xí)網(wǎng)

容器云強(qiáng)勢上線!快速搭建集群,上萬Linux鏡像隨意使用

  早上吃早點(diǎn)的時候,突發(fā)靈感,結(jié)合吃的小籠包和日常的開發(fā)經(jīng)驗(yàn)來說一下分層的應(yīng)用。 

  首先,談一下什么是三層架構(gòu),所謂的三層開發(fā)就是將整個業(yè)務(wù)應(yīng)用劃分為表示層-業(yè)務(wù)邏輯層―數(shù)據(jù)訪問層-數(shù)據(jù)庫等,有的還要細(xì)一些,明確地將客戶端的表示層、業(yè)務(wù)邏輯訪問、和數(shù)據(jù)訪問及數(shù)據(jù)庫訪問劃分出來,十分有利于系統(tǒng)的開發(fā),維護(hù)、部署和擴(kuò)展。 

  軟件要分層,其實(shí)總結(jié)一句話,是為了實(shí)現(xiàn)“高內(nèi)聚、低耦合”。采用“分而治之”的思想,把問題劃分開來各個解決,易于控制,易于延展,易于分配資源。  

  這種三層結(jié)構(gòu)有什么優(yōu)勢呢?  

  1. 通過將整個系統(tǒng)分為不同的邏輯塊,大大降低了應(yīng)用系統(tǒng)開發(fā)和維護(hù)的成本。 

  三層結(jié)構(gòu)將表示部分和業(yè)務(wù)邏輯部分按照客戶層和應(yīng)用服務(wù)器相分離,客戶端和應(yīng)用服務(wù)器、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的通信以及異構(gòu)平臺之間的數(shù)據(jù)交換等都可以通過中間件或者相關(guān)程序來實(shí)現(xiàn)。當(dāng)數(shù)據(jù)庫或者應(yīng)用服務(wù)器的業(yè)務(wù)邏輯改變時,客戶端并不需要改變,反之亦然,從而大大提高了系統(tǒng)模塊的復(fù)用性,縮短了開發(fā)周期,降低了維護(hù)費(fèi)用。 

  趣味理解: 

  假設(shè)飯店這樣來做小籠包:  

  一層蒸餃,  

  一層肉包,      

  一層素包。  

  首先這種方式我們可以讓做包子的分成不同的小組,來負(fù)責(zé)做不同的包子。當(dāng)做好了每一種包子,他們可以很方便的知道,該放到哪個籠里,不至于挨個去查看該放在哪里,我們也很容易地將籠屜放到火上面去,而不會影響其他籠的加熱。當(dāng)我們要吃肉包或蒸餃時,我們也很容易就能找到我們所需要的,非常節(jié)省時間和體力。把肉包或蒸餃拿走或者增加,并不影響素包的加熱。  

  如果我們把這些都放在一個大籠里,你覺得會怎么樣?會不會很亂,維護(hù)起來很浪費(fèi)時間,不但找起來麻煩,而其每次揭開鍋都會對其他的有影響。   

  2. 將數(shù)據(jù)訪問和邏輯操作都集中到組件中,增強(qiáng)了系統(tǒng)的復(fù)用性。  

  如:將數(shù)據(jù)訪問集中到數(shù)據(jù)訪問層的組件中,從而減少了應(yīng)用程序中的重復(fù)代碼,每個需要訪問數(shù)據(jù)庫、表的窗體都使用相同的組件。  

  如:一些共性的邏輯操作都集中封裝在邏輯層的組件中,每一個使用該方法的操作,可以共享來訪問該組件。  

  趣味理解:  

  簡單的理解,籠屜本身就是一個重用的例子,如果我們使用一次性的籠(像一次性筷子一樣理解),會浪費(fèi)多少人工來做啊(重復(fù)編寫麻煩),并且會有很大的資源浪費(fèi)(代碼冗余),最后還要進(jìn)行垃圾處理(后期維護(hù))。并且,如果籠屜和爐火的鍋按一種規(guī)范和標(biāo)準(zhǔn)(接口)來做,這樣的籠屜不但可以在這里用,也可以拿到別的地方用。(雖然這樣理解不太確切,簡單的這樣理解好了) 

  3. 系統(tǒng)的擴(kuò)展性大大增強(qiáng)。 

  模塊化使得系統(tǒng)很容易在縱向和水平兩個方向拓展:一方面可以將系統(tǒng)升級為更大、更有力的平臺,同時也可以適當(dāng)增加規(guī)模來增強(qiáng)系統(tǒng)的網(wǎng)絡(luò)應(yīng)用。由于擺脫了系統(tǒng)同構(gòu)性的限制,使得分布數(shù)據(jù)處理成為可能。在擴(kuò)充或修改功能時,基本不會破壞原有結(jié)構(gòu)的穩(wěn)定性。  

  趣味理解: 

  隨著顧客的需要,我們現(xiàn)在需要增加新品種,如蒸饅頭,蒸地瓜,那么直接可以增加一層籠就是了,對其他籠不會有什么影響。   

  三層結(jié)構(gòu)在營造企業(yè)競爭優(yōu)勢中的作用主要體現(xiàn)在模塊化設(shè)計(jì)使得用戶在現(xiàn)有結(jié)構(gòu)的基礎(chǔ)上實(shí)現(xiàn)了系統(tǒng)擴(kuò)展,從而提高企業(yè)信息化的速度和業(yè)務(wù)水平;同時三層結(jié)構(gòu)中中間件的出現(xiàn)使得用戶可以直接從市場上選擇合適的產(chǎn)品來構(gòu)建系統(tǒng),大大降低了開發(fā)周期和開發(fā)費(fèi)用。   

  但分層結(jié)構(gòu)也有缺點(diǎn)也不是越多越好,那樣管理很多層會比較麻煩,運(yùn)行效率可能比較低。所以,一個具備良好層次結(jié)構(gòu)的系統(tǒng),其層的數(shù)目要恰到好處才行。

相關(guān)文檔:三層架構(gòu)和養(yǎng)豬

標(biāo)簽: 代碼 服務(wù)器 數(shù)據(jù)庫 通信 網(wǎng)絡(luò) 信息化 應(yīng)用服務(wù)器

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:解決asp.net中“從客戶端中檢測到有潛在危險(xiǎn)的Request.Form值”的錯誤

下一篇:.Net 垃圾回收和大對象處理