久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

[從架構(gòu)到設(shè)計]第一回:設(shè)計,應(yīng)該多一點(diǎn)

 joojo 2007-10-16

[從架構(gòu)到設(shè)計]

第一回:設(shè)計,應(yīng)該多一點(diǎn)

發(fā)布日期:2007.8.15 作者:Anytao

©2007 Anytao.com ,,原創(chuàng)作品,轉(zhuǎn)貼請注明作者和出處,。

Anytao.com 

設(shè)計就像是轉(zhuǎn)魔方,,你必須面面俱到。 

1. 引言

anytao開始想嘗試嘗試寫點(diǎn)設(shè)計的東西了,,只所以有了這個“突如其來”的想法,,原因其實(shí)很簡單:因?yàn)閷υO(shè)計、架構(gòu),、分層,、模式,我很陌生,。因?yàn)槟吧?,所以接觸,因?yàn)榻佑|,,所以隨筆,。系列之構(gòu)思就這么誕生了。因此,,這個系列是個方法論,,是個雜文集,也是個見證史,。我不期望能收獲多少掌聲,,但求能保持更多交流。作為技術(shù)的狂熱追求者,,我始終認(rèn)為兩件事情是技術(shù)的立命之本:

因?yàn)?,你會發(fā)現(xiàn)在日新月異,,紛繁復(fù)雜的技術(shù)領(lǐng)域里,一切都在變,,一切都在趕,,我們拼命的狂追,換來一片的豪賭,。唯一不變的,,一是底層,二是設(shè)計,。所以我只關(guān)注這兩個,,也只關(guān)注這兩個,這是我認(rèn)為的學(xué)習(xí)方法論中的第一守則:確定不變的追求方向,。

那么這個系列將關(guān)注些什么方向呢,?

  • Architecture---架構(gòu)
  • Method&Process---設(shè)計方法與設(shè)計過程
  • OO--面向?qū)ο?
  • Design Pattern---設(shè)計模式
  • Learning Method---學(xué)習(xí)方法論

2. 從架構(gòu)到設(shè)計

當(dāng)年,petshop作為.NET和J2EE兩個派別之爭的產(chǎn)物,,坐在了潮流的風(fēng)口上,,時間已然過去,當(dāng)時硝煙早已消失,。我們慶幸的是petshop一路走來,,從1.0到4.0,綜觀其設(shè)計的脈搏,,能夠感受到架構(gòu)的日漸成熟和演變,,這是技術(shù)之爭留給我們最大的看點(diǎn)。

 

(圖片來源:MSDN)

從1.0的簡單3層BS系統(tǒng)架構(gòu),,到4.0實(shí)現(xiàn)較復(fù)雜的分層結(jié)構(gòu),,同時引入數(shù)據(jù)緩存、異步處理機(jī)制,,petshop成為典型的分層結(jié)構(gòu)的代表為架構(gòu)設(shè)計的學(xué)習(xí)提供了良好的資源與素材,。從歷史的遺跡中,我們挖掘到的是什么,?

  • 思想:分層架構(gòu),,3層也好,7層也罷,。根據(jù)的是具體的系統(tǒng)需求而定,,但是基本的表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層的有機(jī)劃分,,是一種導(dǎo)向,。而由分層帶來的性能影響,可以通過數(shù)據(jù)緩存、異步處理機(jī)制來彌補(bǔ),。
  • 方法:模式就是方法,,petshop中就不乏模式的大量應(yīng)用與技巧,抽象工廠模式完成對象創(chuàng)建,;策略模式封裝業(yè)務(wù)行為,。
  • 策略:面向接口的設(shè)計,剝離了層與層之間的強(qiáng)耦合,,使得各個模塊保持相對的獨(dú)立性,,體現(xiàn)了封裝變化的基本思想。
  • 技巧:表現(xiàn)層中以masterpage來實(shí)現(xiàn)對頁面的控制,,既省時又省力,。
  • 缺陷:沒有應(yīng)用ORM,,數(shù)據(jù)和實(shí)體的分離不夠徹底,。希望在5.0中有更好的方案。

沒有一成不變的設(shè)計,,也沒有一成不變的架構(gòu),。方案是永遠(yuǎn)隨著需求,隨著技術(shù)而不斷重構(gòu),,設(shè)計之美就體現(xiàn)在不斷的否定與自我否定中,。本系列不是討論petshop的專題,這方面的討論已經(jīng)很多了,,我們沒有必要再造輪子,。因此,更關(guān)注如何,,怎樣和思想,,是這里的討論。

那么,,設(shè)計,、架構(gòu)應(yīng)該從哪兒入手,又如何進(jìn)行,?面向?qū)ο蟮脑瓌t又是什么,?設(shè)計模式又如何融入到我們的架構(gòu)體系中?這一系列的問題,,我想說可能根本沒有答案,,而確有方法。本系列就力圖從方法的角度入手,,以并非專業(yè)又并非經(jīng)驗(yàn)的視角來闡釋如何以菜鳥的立場來“空談”設(shè)計,。因?yàn)椋悴荒苷f設(shè)計只是架構(gòu)師的事兒,否則滿篇的代碼又如何體現(xiàn)藝術(shù)之美呢,?作為菜鳥,, 我們少了經(jīng)驗(yàn),但是多了思考,,因此對架構(gòu),、對設(shè)計、對模式的探索,,應(yīng)該從一定的方法做起,,這是本文和本系列試圖達(dá)到的目標(biāo)。

作者力圖以例小心求證設(shè)計,,以圖來大膽闡釋方法,。例如,軟件設(shè)計的分離點(diǎn)應(yīng)該如何來考慮呢,?

Anytao.com 

  • 首先,,分層思想是從職責(zé)角度對架構(gòu)進(jìn)行了約束,表現(xiàn)層,、邏輯層,、數(shù)據(jù)層各負(fù)其責(zé),層與層之間以接口進(jìn)行信息交互,,減少耦合度,。
  • 其次,框架和通用組件則是從通用性角度提高了系統(tǒng)復(fù)用并減少耦合度,,例如,,在一個應(yīng)用系統(tǒng)中,.NET Framework是技術(shù)通用組件,,提供了系統(tǒng)開發(fā)數(shù)以千萬計類,,而系統(tǒng)中的進(jìn)度控制、消息控制和異常處理可以開發(fā)為專用的模塊,,作為領(lǐng)域通用組件,,然后在此基礎(chǔ)上再實(shí)現(xiàn)具體的業(yè)務(wù)需求。
  • 最后,,模塊化思想則是從功能點(diǎn)對系統(tǒng)進(jìn)行了分離與封裝,。一個大型的系統(tǒng),一定是分成多個功能模塊進(jìn)行的開發(fā),,每個子模塊甚至也有必要進(jìn)行架構(gòu)設(shè)計和粒度劃分,,這主要依賴與其在系統(tǒng)中的復(fù)雜度和重要度。核心的子系統(tǒng)設(shè)計,,最好落實(shí)到具體的類設(shè)計,,對粒度的把握也是架構(gòu)設(shè)計值得思考的話題,。

分層角度,框架基礎(chǔ),,功能劃分,,一個系統(tǒng)設(shè)計要綜合考慮這些因素??赡苓€不止這些,,也可能只是其中的一點(diǎn),具體的架構(gòu)要看具體的需求,。然而探求架構(gòu)和設(shè)計方法的時候,,我們要把握基本的方法和思路去迎合前人總結(jié)的經(jīng)驗(yàn),也叫科學(xué),。

以上述思路來回顧petshop 4.0的架構(gòu),,我們很明顯的感受到,良好的設(shè)計正是巧妙的耦合了架構(gòu)設(shè)計中的諸多因素,,提出了近乎完美的方案,。分層角度來看,在petshop中自不必說,,明顯的三層架構(gòu)體現(xiàn)了良好的系統(tǒng)分離與耦合,;通用角度來看,,.NET Framework作為技術(shù)通用組件,,提供了系統(tǒng)實(shí)現(xiàn)的基本技術(shù)基礎(chǔ),而對Profile和Membership的分離,,則體現(xiàn)了領(lǐng)域通用部分的價值,;模塊角度來看,由于petshop本身的業(yè)務(wù)需求比較簡單,,因此模塊劃分不夠明顯,,但是對Order的處理可以看作簡單的業(yè)務(wù)模塊了。而其他方面,,例如設(shè)計模式,,面向接口開發(fā)的技術(shù),也同樣體現(xiàn)在petshop的大框架中,,讓我們受益非淺,。 

3. 結(jié)論

從架構(gòu)到設(shè)計,漫游在一個技術(shù)而藝術(shù)的世界,,一直是我的夢想,。對技術(shù)的駕馭,不是看你了解多少細(xì)節(jié),,更重要是你控制了多少格局,。架構(gòu)設(shè)計就是一個控制格局的藝術(shù),只有游刃有余的駕馭了如何將技術(shù)細(xì)節(jié)變成就輕駕熟的應(yīng)用,才是設(shè)計的最高境界,。屆時,,你會發(fā)現(xiàn),原來技術(shù)可以更美的,。所以,,我要說,設(shè)計,,應(yīng)該多一點(diǎn),。

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多