日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于软件的架构设计

發(fā)布時間:2023/12/18 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于软件的架构设计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
好的開始相當(dāng)于成功一半

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

有了這個概念,通常比較難實現(xiàn)的用戶級別權(quán)限控制也有了思路,將具體用戶或組也是和樹形結(jié)構(gòu)的節(jié)點link在一起,這樣就間接實現(xiàn)了用戶對相應(yīng)功能的權(quán)限控制,有了這樣的基本設(shè)計方案的架構(gòu)無疑具備很靈活的拓展性。
?關(guān)于文檔中觀點的補(bǔ)充:
1. 最大化的重用:
提高重用,需要架構(gòu)中的構(gòu)件具有較高的獨(dú)立性,構(gòu)件的實現(xiàn)變更不導(dǎo)致其它構(gòu)件的設(shè)計變更;另外一點是構(gòu)件間接口的穩(wěn)定性和可擴(kuò)展性,如果因為實現(xiàn)新增需求必須對接口作變更,如果相關(guān)構(gòu)件不支持這個新增需求,可以保持接口不變。
提高重用的另外一個手段,是利用類似已有的構(gòu)件。理想的重用是只需從不同地方拿來構(gòu)件,經(jīng)過簡單的組合,可實現(xiàn)新的產(chǎn)品需求。

2. 盡可能的簡單明了
使設(shè)計簡單的方式可以是對系統(tǒng)做分層,分層可以是基于功能需求的。比如協(xié)議方面的分層:協(xié)議的編解碼、協(xié)議的可靠傳輸、協(xié)議的應(yīng)用層適配。
要使分層基于功能需求,需要對原始需求做功能需求分析,把原始需求總結(jié)歸納成幾個或幾十個類似或相近的功能需求,以這些功能需求搭建系統(tǒng)的功能框架,以此功能框架為基礎(chǔ),對原始需求在此功能架構(gòu)上做運(yùn)行分析。如果有需求不能實現(xiàn),則調(diào)整架構(gòu)。這個過程依賴于經(jīng)驗和能力。

3. 最靈活的拓展性
靈活的拓展性,依賴于接口定義、模塊間的松耦合性。

總結(jié)

以上是生活随笔為你收集整理的关于软件的架构设计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 精品丰满少妇一区二区三区 | 久久mm| 色香欲综合网 | 国产一区二区在线看 | 欧美不卡一二三 | 久艹伊人| 国产精品国产三级国产专播精品人 | 亚洲精品视频中文字幕 | 欧美午夜精品一区二区三区电影 | 欧美成人久久久免费播放 | 国产精品欧美激情在线 | 国产亚洲精品久久久久久无几年桃 | 亚洲一区自拍 | 中文字幕福利 | 国产拍拍拍 | 禁断介护av一区二区 | 亚洲激情一区二区 | 国产精品20p | 欧美午夜精品久久久久久孕妇 | 永久毛片 | 女生裸体无遮挡 | 久久久久人 | 日韩精品一区二区三区网站 | 顶弄h校园1v1 | 重囗味sm一区二区三区 | 久久99精品久久久久久园产越南 | 国产伦精品一区二区三区视频1 | 欧美高清大白屁股ass18 | 国产盗摄一区二区三区在线 | 亚洲黄色片在线观看 | 日韩一区二区视频在线 | 中国在线观看片免费 | 国产一区二区精品在线 | 字幕网av | 污版视频在线观看 | 亚洲涩涩网 | 亚洲一区二区三区免费在线观看 | 都市激情男人天堂 | 精品国产乱码久久久久久图片 | 2023天天操 | 中文字幕在线观看视频一区二区 | 婷婷丁香一区二区三区 | 亚洲成年人av | 色久婷婷 | 久久依人网 | 亚洲欧美日韩高清 | 伊人影院久久 | 国产一卡在线 | 青青草视频观看 | 日韩欧美三区 | 精品国产免费看 | 国产婷婷色一区二区三区 | 欧美日韩色综合 | 日本一区二区免费视频 | 欧美成人免费在线 | 91国产视频在线播放 | 国产成人精品网站 | 成人在线一区二区三区 | 在线免费观看黄视频 | 香蕉成人在线视频 | 国产不卡二区 | 欧美成人手机视频 | 国产视频精品自拍 | 正在播放国产一区 | 国产操视频 | 久久av一区二区三区漫画 | 天天爱av | 日韩成人在线视频观看 | 久久99影院| 亚洲人人精品 | 97成人人妻一区二区三区 | 天堂在线免费视频 | 欧美久久99 | 日本黄色电影网址 | 国产看黄网站 | 中文字幕欧美亚洲 | 久久久久久久久久久网 | 欧美色xxxx | 成人久久久久久久 | 久久国产一区二区 | 床上激情网站 | 男生插女生视频在线观看 | 婷婷综合亚洲 | 国产精品久久久久不卡 | www.欧美激情| 欧美做爰啪啪xxxⅹ性 | 69堂免费视频 | 成人18在线 | 欧美精品久久久久久久久久 | 成人在线91 | 免费在线小视频 | 一女被多男玩喷潮视频 | www四虎精品视频免费网站 | 粉嫩av.com| 嫩草影院中文字幕 | 亚洲欧美中文日韩在线v日本 | 老熟妇一区二区 | 中文字幕丝袜 | 亚洲成年人 |