小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

《企業(yè)應(yīng)用架構(gòu)模式》讀書筆記(一)

 xrzs 2009-09-22
企業(yè)應(yīng)用架構(gòu)模式讀書筆記(一)
 
前年走馬觀花式的把這本書讀了一遍,加上當(dāng)時(shí)并沒有實(shí)際使用,所以時(shí)隔不到兩年,對(duì)本書中部分內(nèi)容的印象已經(jīng)有些模糊了。最近要用到這方面的知識(shí),花點(diǎn)時(shí)間再讀一遍,順便記點(diǎn)筆記。
 
企業(yè)應(yīng)用的特點(diǎn):需要持久化數(shù)據(jù)。存在大量數(shù)據(jù)。支持大量用戶并發(fā)訪問。涉及大量操作數(shù)據(jù)的用戶界面。
 
關(guān)于性能的幾個(gè)概念:響應(yīng)時(shí)間。響應(yīng)性。等待時(shí)間。吞吐量。負(fù)載。負(fù)載敏感度。效率??缮炜s性。
 
關(guān)于模式:模式是“半生不熟品”,你需要自己加上最后一把火。所以同一個(gè)模式在不同的使用場(chǎng)合,看似相似,又各有不同。
 
本書第一章主題是分層。根據(jù)這些年的經(jīng)驗(yàn)和所學(xué)到的知識(shí),竊以為設(shè)計(jì)的中心就是減小系統(tǒng)的復(fù)雜度,而減小系統(tǒng)復(fù)雜度的方法無非就是:分層、分治、抽象。作者把分層放在第一章,我覺得這是極為合理的。
 
三個(gè)基本層次:表現(xiàn)層。領(lǐng)域?qū)印?shù)據(jù)源層。
 
后面兩層絕對(duì)不允許含有表現(xiàn)層的代碼,原因是界面是最容易變化的,設(shè)計(jì)的重要目標(biāo)就是把可變的東西隔離起來,讓它獨(dú)立變化。
 
如何判別表現(xiàn)層和領(lǐng)域?qū)邮峭耆蛛x的?好辦,重新實(shí)現(xiàn)一個(gè)風(fēng)格完全不同的表現(xiàn)層,比如把基于WEB的表現(xiàn)層,換成基于命令行的表現(xiàn)層。如果兩種表現(xiàn)層中幾乎沒有重復(fù)的代碼,那恭喜你,你的設(shè)計(jì)是表現(xiàn)層和領(lǐng)域?qū)油耆蛛x的。
 
如何讓表現(xiàn)層與領(lǐng)域?qū)臃蛛x?這個(gè)問題已經(jīng)問老了,去看看MVS模型,去看看MFC的文檔視圖模型,去看看訂閱-發(fā)布設(shè)計(jì)模式,它們差不多是同一個(gè)東西。
 
如何判別領(lǐng)域?qū)雍蛿?shù)據(jù)源層是完全分離的?與判別表現(xiàn)層和領(lǐng)域?qū)拥姆椒愃?,重新?shí)現(xiàn)一個(gè)數(shù)據(jù)源層,如果以前采用的SQL數(shù)據(jù)庫服務(wù)器,現(xiàn)在換成XML試試,如果輕而易舉的就做到了,同樣恭喜你,領(lǐng)域?qū)雍蛿?shù)據(jù)源層是完全分離的。
 
領(lǐng)域?qū)硬渴鹪诜?wù)器還是在客戶端,看你具體的選擇了,不過最好是不要把它的一部分放在服務(wù)器上,另外一部分放在客戶端。如果真的這樣做,讓這兩部分盡量各自獨(dú)立,不要依賴關(guān)系太強(qiáng)。
 
Alan Knight說,將部分領(lǐng)域邏輯混入表現(xiàn)層,到底是滑向地獄的第一步呢,還是只是少數(shù)純粹主義者才會(huì)抱怨的小問題?作者說,我們之所以擔(dān)心,正是因?yàn)檫@種做法兩者兼?zhèn)洹:?,回答得夠絕。
 
組織領(lǐng)域邏輯的三種模式:事務(wù)腳本。領(lǐng)域模型。表模塊。
我的理解是:
 
事務(wù)腳本就是傳統(tǒng)的面向過程的方法。以過程為中心,直觀的說是以動(dòng)作為中心的。比如在超市收銀臺(tái)買單時(shí)的過程,可以描述為一系列的動(dòng)作:
錄入商品代碼。
       計(jì)算總價(jià)值。
       收款。
       找零。
 
領(lǐng)域模型就是完全面對(duì)對(duì)象的方法。以對(duì)象為中心,直觀的說是以物品為中心。如如上面的例子可以描述為:
       創(chuàng)建一個(gè)帳單對(duì)象。
       一一的創(chuàng)建商品對(duì)象,并加入帳單對(duì)象。
       帳單對(duì)象提供一個(gè)買單的方法,輸入付款數(shù),返回找零。
 
在這里,帳單和商品是對(duì)象,也是中心,動(dòng)作不過是這些對(duì)象的行為罷了。
 
表模型介于上述兩個(gè)模型之間,可以認(rèn)為它是基于對(duì)象的方法。初看有些像領(lǐng)域模型,對(duì)象的數(shù)據(jù)是集中在一起的,相關(guān)的操作也是集中在一起的。但是它并不存在繼承和多態(tài)性,常常不能直接使用策略等面向?qū)ο蟮脑O(shè)計(jì)模式。
 
選擇三種模式的標(biāo)準(zhǔn)是系統(tǒng)的復(fù)雜度和環(huán)境。簡(jiǎn)單的情況可以采用事務(wù)腳本,復(fù)雜的情況首選領(lǐng)域模型,開發(fā)環(huán)境對(duì)記錄集支持得好,可以選擇表模塊。
 
但對(duì)于復(fù)雜度沒有量化的標(biāo)準(zhǔn),通常只能根據(jù)開發(fā)者的經(jīng)驗(yàn)判斷。作者開玩笑說,當(dāng)復(fù)雜度超過7.42時(shí)就選擇領(lǐng)域模型,但是你沒有辦法知道什么樣的復(fù)雜度是超過7.42的。

本文來自CSDN博客,轉(zhuǎn)載請(qǐng)標(biāo)明出處:http://blog.csdn.net/absurd/archive/2006/05/15/740031.aspx

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多