GoF的設(shè)計(jì)模式只解決了微觀架構(gòu)(micro-architecture)。你仍然必須把宏觀架 " /> 在镜头里被CAO翻了H,xlxx美女,99re这里只有精品视频

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

對(duì)架構(gòu)的思考

  這幾日,在閱讀GoF之一的John Vlissides著作《設(shè)計(jì)模式思考》,在James O. Coplien為本書(shū)所撰寫(xiě)的序中,摘引了Richard Helm的一封郵件:
  GoF的設(shè)計(jì)模式只解決了微觀架構(gòu)(micro-architecture)。你仍然必須把宏觀架構(gòu)(marco-architecture)設(shè)計(jì)好:分層、分布、功能隔離……。而且就像Cope說(shuō)的,你仍然必須把納米架構(gòu)(nano-architecture)設(shè)計(jì)好:封裝、liskov……。
  我很贊成這種根據(jù)設(shè)計(jì)粒度來(lái)劃分架構(gòu)的方式。從嚴(yán)格意義上講,軟件設(shè)計(jì)也可看做是架構(gòu)的一部分。從marco-architecture到micro-architecture,再到nano-architecture,是一種設(shè)計(jì)粒度的自上而下。但在架構(gòu)過(guò)程中,我們并非一定要從宏觀到微觀,再到更為具體的細(xì)節(jié),這些架構(gòu)其實(shí)是平等的。這幾種粒度的架構(gòu),似乎存在某些玄奧的原則與設(shè)計(jì)精神,貫穿其中。我以為,如果能把握它們之間的脈絡(luò),甚至通過(guò)某種方式將它們串聯(lián)起來(lái),形成一種有機(jī)結(jié)合或者說(shuō)渾然一體的架構(gòu),對(duì)于我們的架構(gòu)與設(shè)計(jì)而言,無(wú)疑會(huì)帶來(lái)極大的幫助。
  最近一年來(lái),我一直在思考隱藏在設(shè)計(jì)背后的基本思想與原則。因?yàn)樵诩姺睆?fù)雜的模式中,我們很容易迷失自己,要么患上模式病,要么在選擇模式方面變得無(wú)可適從,或者就干脆鄙視模式,按照自己的一套方法野蠻施工。不幸的是,這種野蠻施工在有時(shí)候確乎能取得不錯(cuò)的效果。然而,這無(wú)疑落入了一種類似“按巧合編程”的反模式陷阱中,我將其稱之為“按巧合設(shè)計(jì)”,即在項(xiàng)目或產(chǎn)品設(shè)計(jì)過(guò)程中,因?yàn)榕既辉颍O(shè)計(jì)取得成功,從而給設(shè)計(jì)者帶來(lái)錯(cuò)覺(jué),以為尋覓到了某種“放之四海皆準(zhǔn)”的終南捷徑。
  我對(duì)設(shè)計(jì)的思考總結(jié)而言,包括七個(gè)方面,即“重用、擴(kuò)展、變化、分離、簡(jiǎn)約、一致、間接”。我在多次會(huì)議上也闡述和分享了我的這些想法(當(dāng)然,這些想法絕非我的獨(dú)創(chuàng),有很多其實(shí)本身就是業(yè)界公認(rèn)的原則,我不過(guò)是期望能夠融為一體地來(lái)闡述架構(gòu)與設(shè)計(jì)這一命題。)然而,囿于自身經(jīng)驗(yàn)與能力,我還未能將其總結(jié)得更好。我對(duì)設(shè)計(jì)模式(即所謂微觀架構(gòu))的理解是有幾分自信的,對(duì)于OO的基本原則(即所謂納米架構(gòu)),也可以說(shuō)是深諳于心,但對(duì)宏觀架構(gòu)的把握,還欠缺幾分火候。我始終感覺(jué)我的總結(jié)有一些散,我追求的設(shè)計(jì)原則,應(yīng)該像散文的精神那般,能夠做到“形散而神不散”,而現(xiàn)在對(duì)設(shè)計(jì)的理解正好缺乏某種能夠符合類似天體運(yùn)行規(guī)律的鏈條所在。Richard Helm對(duì)架構(gòu)的敘述,為我打開(kāi)了一扇窗戶。
  此外,通過(guò)我這幾個(gè)月負(fù)責(zé)的產(chǎn)品研發(fā),我對(duì)UML的理解也更近了一層。我越來(lái)越覺(jué)得UML對(duì)架構(gòu)和設(shè)計(jì)的幫助。正如Craig Larman的那本名著《Applying UML and Patterns》,UML與模式可以結(jié)合得更緊密一些。UML的重要性不言而喻,如果有人對(duì)其產(chǎn)生輕視,乃至于鄙視,歸根結(jié)底,一定是對(duì)UML進(jìn)行了誤用或者濫用。UML是工具,但它不同于普通的工具,它能夠啟發(fā)我們的設(shè)計(jì)。例如用例圖可以幫助我們識(shí)辨角色與場(chǎng)景,還可以幫助我們找到能夠重用的元素。組件圖無(wú)疑屬于宏觀架構(gòu)的范疇,它幫助我們體會(huì)封裝與松散耦合,還能夠幫助我們定義服務(wù)。我不認(rèn)為從一開(kāi)始,就只能利用組件圖來(lái)劃分模塊,畢竟在很多時(shí)候,我們很難完全對(duì)模塊進(jìn)行分解。但如果能夠合理地利用組件圖,對(duì)模塊的劃分無(wú)疑會(huì)變得輕松許多。在微觀架構(gòu)的層面,我特別喜歡時(shí)序圖(sequence diagram),在我心中,它的重要性甚至勝過(guò)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)。結(jié)合用例圖,它能夠幫助我們找到對(duì)象協(xié)作的順序與方式,幫助我們找到抽象以及接口,當(dāng)然還包括對(duì)象的職責(zé)。我們還可以適當(dāng)?shù)亟Y(jié)合ICONIX方法,并結(jié)合原型,來(lái)幫助我們對(duì)用例場(chǎng)景的理解,并最后找到必須、應(yīng)該且恰如其分地需要參與到這一場(chǎng)景中的業(yè)務(wù)對(duì)象。
  從架構(gòu)的角度來(lái)看,我們需要將自上而下與自下而上兩種方式進(jìn)行結(jié)合。此外,我們必須遵循所有層級(jí)架構(gòu)都應(yīng)遵循的原則,例如高內(nèi)聚、松耦合以及關(guān)注點(diǎn)分離。我在思考,這些基本原則,似乎正是我要尋找的穿起納米架構(gòu)、微觀架構(gòu)和宏觀架構(gòu)的鏈條呢?如果是,我們?cè)撛鯓舆\(yùn)用它們。畢竟,對(duì)于大多數(shù)設(shè)計(jì)者而言,這些原則都太空泛,太抽象,以至于落入玄奧的“道”中無(wú)可自拔。架構(gòu)與設(shè)計(jì)自然有其玄妙之處,有其不可言傳之處,但如果一味地故弄玄虛,并不利于設(shè)計(jì)者的提高。因此,對(duì)我而言,我希望能夠提供大量的案例,來(lái)佐證這些原則;更重要的不是佐證,而是指引,以好的例子,甚至可以稱為典范的例子,展現(xiàn)這些精妙的原則,使得我們的開(kāi)發(fā)人員都能夠看懂,都能夠理解設(shè)計(jì)的妙處。這是我努力期望做到的。
  若要做到這一點(diǎn),我必須還要提高自己的架構(gòu)與設(shè)計(jì)水平。但我以為,我?guī)缀跻獙ひ挼降翘萌胧业娜肟谒诹恕N移诖约耗茉缫惶煺业剿?/p>

it知識(shí)庫(kù)對(duì)架構(gòu)的思考,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 99热视频这里只有久久精品 | 免费视频网站嗯啊轻点 | 亚洲1区2区3区精华液 | JIZZ学生13| 成人午夜精品无码区久久漫画日本 | 99热在线视频 | 日韩成人性视频 | 青草国产超碰人人添人人碱 | xxx暴力xxx | 囯产免费久久久久久国产免费 | 国产精品美女久久久久AV超清 | 色吧电影院 | 欧美人与动牲交A精品 | 精品久久久噜噜噜久久7 | 亚洲在线成色综合网站 | 高H内射NP古文 | 三级黄色在线免费观看 | 国产AV天堂一区二区三区 | 女人高潮了拔出来了她什么感觉 | 深夜草逼逼 | 久久99久久成人免费播放 | 最新国产亚洲亚洲精品视频 | 人妻夜夜爽天天爽三区麻豆AV网站 | 四虎国产一区 | 快播电影频道 | 亚洲精品无码成人AAA片 | 三级色视频 | 男人插女人动态图 | 色WWW永久免费视频首页 | 97人妻久久久精品系列A片 | 高清欧美一区二区三区 | 午夜看片福利在线观看 | 国产大片51精品免费观看 | 小处雏一区二区三区 | 色即是空 BT | 亚洲三级黄色 | 黄色三级三级免费看 | 大乳牛奶女在线观看 | 9久久99久久久精品齐齐综合色圆 | 电影日本妻子 | 国产 亚洲 日韩 欧美 在线观看 |