<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆-204  評論-90  文章-8  trackbacks-0
    2003-02-17· ·板橋里人 ··j-道

    開始之初的架構(gòu)設(shè)計(jì)決定著軟件產(chǎn)品的生死存亡。“好的開始相當(dāng)于成功一半”。

      開始的架構(gòu)設(shè)計(jì)也是最難的,需要調(diào)研同類產(chǎn)品的情況以及技術(shù)特征,了解當(dāng)前世界上對這種產(chǎn)品所能提供的理論支持和技術(shù)平臺(tái)支持。再結(jié)合自己項(xiàng)目的特點(diǎn)(需要透徹的系統(tǒng)分析),才能逐步形成自己項(xiàng)目的架構(gòu)藍(lán)圖。

      比如要開發(fā)網(wǎng)站引擎系統(tǒng),就從Yahoo的個(gè)人主頁生成工具 到虛擬主機(jī)商提供的網(wǎng)站自動(dòng)生成系統(tǒng),以及IBM Webphere Portal的特點(diǎn)和局限 從而從架構(gòu)設(shè)計(jì)角度定立自己產(chǎn)品的位置。

      好的設(shè)計(jì)肯定需要經(jīng)過反復(fù)修改,從簡單到復(fù)雜的循環(huán)測試是保證設(shè)計(jì)正確的一個(gè)好辦法

      由于在開始選擇了正確的方向,后來項(xiàng)目的實(shí)現(xiàn)過程也驗(yàn)證了這種選擇,但在一些架構(gòu)設(shè)計(jì)的細(xì)部方面,還需要對方案進(jìn)行修改,屬于那種螺旋上升的方式,顯然這是通過測試第一的思想和XP工程方法來實(shí)現(xiàn)的。

      如果我們開始的架構(gòu)設(shè)計(jì)在技術(shù)平臺(tái)定位具有一定的世界先進(jìn)水平,那么,項(xiàng)目開發(fā)實(shí)際有一半相當(dāng)于做實(shí)驗(yàn),是研發(fā),存在相當(dāng)?shù)募夹g(shù)風(fēng)險(xiǎn)。

      因此,一開始我們不可能將每個(gè)需求都實(shí)現(xiàn),而是采取一種簡單完成架構(gòu)流程的辦法,使用最簡單的需求將整個(gè)架構(gòu)都簡單的完成一遍(加入人工干 預(yù)),以檢驗(yàn)各個(gè)技術(shù)環(huán)節(jié)是否能協(xié)調(diào)配合工作(非常優(yōu)秀先進(jìn)的兩種技術(shù)有時(shí)無法在一起工作),同時(shí)也可以探知技術(shù)的深淺,掌握項(xiàng)目中的技術(shù)難易點(diǎn)。這個(gè)過 程完成后,我們就對設(shè)計(jì)方案做出上面的重大修改,豐富完善了設(shè)計(jì)方案。

      設(shè)計(jì)模式是支撐架構(gòu)的重要組件

      架構(gòu)設(shè)計(jì)也類似一種工作流,它是動(dòng)態(tài)的,這點(diǎn)不象建筑設(shè)計(jì)那樣,一開始就能完全確定,架構(gòu)設(shè)計(jì)伴隨著整個(gè)項(xiàng)目的進(jìn)行過程之中,有兩種具體操作保證架構(gòu)設(shè)計(jì)的正確完成,那就是設(shè)計(jì)模式(靜態(tài))和工程項(xiàng)目方法(RUP或XP 動(dòng)態(tài)的)。

      設(shè)計(jì)模式是支撐架構(gòu)的一種重要組件,這與建筑有很相象的地方,一個(gè)建筑物建立設(shè)計(jì)需要建筑架構(gòu)設(shè)計(jì),在具體施工中,有很多建筑方面的規(guī)則和模式。

      我們從J2EE藍(lán)圖模式分類http://java.sun.com/blueprints/patterns/catalog.html中就可以很清楚的看到J2EE這樣一個(gè)框架軟件的架構(gòu)與設(shè)計(jì)模式的關(guān)系。

      架構(gòu)設(shè)計(jì)是骨架,設(shè)計(jì)模式就是肉

      這樣,一個(gè)比較豐富的設(shè)計(jì)方案可以交由程序員進(jìn)一步完成了,載輔助以適當(dāng)?shù)墓こ谭椒ǎ@樣就可保證項(xiàng)目的架構(gòu)設(shè)計(jì)能正確快速的完成。

      時(shí)刻牢記架構(gòu)設(shè)計(jì)的目標(biāo)

      由于架構(gòu)設(shè)計(jì)是在動(dòng)態(tài)中完成的,因此在把握架構(gòu)設(shè)計(jì)的目標(biāo)上就很重要,因此在整個(gè)項(xiàng)目過程中,甚至每一步我們都必須牢記我們架構(gòu)設(shè)計(jì)的總體目標(biāo),可以概括下面幾點(diǎn):

      1. 最大化的重用:這個(gè)重用包括組件重用 和設(shè)計(jì)模式使用等多個(gè)方面。

      比如,我們項(xiàng)目中有用戶注冊和用戶權(quán)限系統(tǒng)驗(yàn)證,這其實(shí)是個(gè)通用課題,每個(gè)項(xiàng)目只是有其內(nèi)容和一些細(xì)微的差別,如果我們之前有這方面成功研發(fā)經(jīng) 驗(yàn),可以直接重用,如果沒有,那么我們就要進(jìn)行這個(gè)子項(xiàng)目的研發(fā),在研發(fā)過程中,不能僅僅看到這個(gè)項(xiàng)目的需求,也要以架構(gòu)的概念去完成這個(gè)可以稱為組件的 子項(xiàng)目。

      2. 盡可能的簡單明了:我們解決問題的總方向是將復(fù)雜問題簡單化,其實(shí)這也是中間件或多層體系技術(shù)的根本目標(biāo)。但是在具體實(shí)施設(shè)計(jì)過程中,我們可能會(huì)將簡單問題復(fù)雜化,特別是設(shè)計(jì)模式的運(yùn)用上很容易范這個(gè)錯(cuò)誤,因此如何盡可能的做到設(shè)計(jì)的簡單明了是不容易的。

      我認(rèn)為落實(shí)到每個(gè)類的具體實(shí)現(xiàn)上要真正能體現(xiàn)系統(tǒng)事物的本質(zhì)特征,因?yàn)槭挛锏谋举|(zhì)特征只有一個(gè),你的代碼越接近它,表示你的設(shè)計(jì)就是簡單明了, 越簡單明了,你的系統(tǒng)就越可靠。更多情況是,一個(gè)類并不能反應(yīng)事物本質(zhì),需要多個(gè)類的組合協(xié)調(diào),那么能夠正確使用合適的設(shè)計(jì)模式就稱為重中之重。

      我們看一個(gè)具備好的架構(gòu)設(shè)計(jì)的系統(tǒng)代碼時(shí),基本看到的都是設(shè)計(jì)模式,寵物店(pet store)就是這樣的例子。或者可以這樣說,一個(gè)好的架構(gòu)設(shè)計(jì)基本是由簡單明了的多個(gè)設(shè)計(jì)模式完成的。

      3. 最靈活的拓展性:架構(gòu)設(shè)計(jì)要具備靈活性 拓展性,這樣,用戶可以在你的架構(gòu)上進(jìn)行二次開發(fā)或更加具體的開發(fā)。

      要具備靈活的拓展性,就要站在理論的高度去進(jìn)行架構(gòu)設(shè)計(jì),比如現(xiàn)在工作流概念逐步流行,因?yàn)槲覀兙唧w很多實(shí)踐項(xiàng)目中都有工作流的影子,工作流中有一個(gè)樹形結(jié)構(gòu)權(quán)限設(shè)定的概念就對很多領(lǐng)域比較通用。

      樹形結(jié)構(gòu)是組織信息的基本形式,我們現(xiàn)在看到的網(wǎng)站或者ERP前臺(tái)都是以樹形菜單來組織功能的,那么我們在進(jìn)行架構(gòu)設(shè)計(jì)時(shí),就可以將樹形結(jié)構(gòu)和 功能分開設(shè)計(jì),他們之間聯(lián)系可以通過樹形結(jié)構(gòu)的節(jié)點(diǎn)link在一起,就象我們可以在圣誕樹的樹枝上掛各種小禮品一樣,這些小禮品就是我們要實(shí)現(xiàn)的各種功 能。

      有了這個(gè)概念,通常比較難實(shí)現(xiàn)的用戶級別權(quán)限控制也有了思路,將具體用戶或組也是和樹形結(jié)構(gòu)的節(jié)點(diǎn)link在一起,這樣就間接實(shí)現(xiàn)了用戶對相應(yīng)功能的權(quán)限控制,有了這樣的基本設(shè)計(jì)方案的架構(gòu)無疑具備很靈活的拓展性。


    posted on 2007-11-26 11:56 一凡 閱讀(260) 評論(0)  編輯  收藏 所屬分類: Architecture

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 在线播放免费人成视频在线观看| 麻豆亚洲av熟女国产一区二| 黄色网址免费观看| 男女一进一出抽搐免费视频| 国产亚洲福利在线视频| 亚洲天堂一区二区| 在线亚洲午夜理论AV大片| 国产精品免费电影| 毛片免费观看的视频在线| 91精品国产免费入口| 中文字幕在线观看免费| 青青久久精品国产免费看| 亚洲午夜无码久久久久小说| 亚洲高清中文字幕综合网| 亚洲精选在线观看| 亚洲av无码潮喷在线观看| 亚洲熟女少妇一区二区| 亚洲国产人成精品| 吃奶摸下高潮60分钟免费视频 | 免费观看国产精品| 搡女人免费视频大全| 色窝窝免费一区二区三区| 91久久精品国产免费直播| 最近2019中文字幕免费大全5| 99久久成人国产精品免费| 99久久免费国产精精品| 国产精品免费观看视频| 丁香花在线观看免费观看图片| 一级一片免费视频播放| 亚洲阿v天堂在线2017免费| 国产免费A∨在线播放| 青青草97国产精品免费观看| 特级毛片A级毛片免费播放| 新最免费影视大全在线播放| 鲁啊鲁在线视频免费播放| 色老头综合免费视频| v片免费在线观看| 搡女人免费免费视频观看| 四虎国产成人永久精品免费| 99在线观看免费视频| 4hu四虎最新免费地址|