新聞中心
1

創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:成都做網(wǎng)站、成都網(wǎng)站建設、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的洪江管理區(qū)網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
風格對于軟件系統(tǒng),猶如文化對于人類社會,對于組成系統(tǒng)的各個要素(無論模塊、組件、對象還是函數(shù)),都會施加影響,只要是在運用該風格的邊界范圍之內(nèi)。
這種風格影響如文化烙印一般,體現(xiàn)出一種強烈的一致性。當然,一旦選錯了風格,那就好像17世紀中,五月花的落魄船員們闖入了印第安人的部落,可能會是混亂、風格的格格不入。
2
Roy Fielding對風格的定義為:
| “風格是一種用來對架構進行分類和定義它們的公共特征的機制。每一種風格都為組件的交互提供了一種抽象,并且通過忽 略架構中其余部分的偶然性細節(jié)來捕獲一種交互模式(pattern of interation)的本質特征?!?/td> |
這個定義有兩個關鍵詞:
- 分類
- 共同特征
這兩個關鍵詞皆與抽象有關。
同時,這句話還提及了風格與協(xié)作之間的關系,即它是對協(xié)作的抽象。架構風格應不涉及詳細設計細節(jié),需要找出那些穩(wěn)定不變的本質特征,且這個特征是與系統(tǒng)的目標與需求是相匹配的。
3
Roy Fielding在論文《架構風格與基于網(wǎng)絡的軟件架構設計》中寫道:
| 網(wǎng)絡研究則恰恰相反,集中于系統(tǒng)之間普通的通信行為的細節(jié)和提高特殊通信技術的性能,卻常常忽略了一個事實,即改變一個應用的交互風格對于性能產(chǎn)生的影響要比改變交互所使用的通信協(xié)議更大。 |
這事實上體現(xiàn)了宏觀架構與微觀架構之間的關系,二者應該保持一致。當然,宏觀架構的影響是戰(zhàn)略的影響,微觀架構的影響是戰(zhàn)術的影響,在分而治之的架構原則下,微觀架構產(chǎn)生的影響雖然存在,但影響主要還是發(fā)生在局部。
4
畫出自己的邊界線,在邊界之內(nèi)保證風格的一致性。邊界外,看待風格的一致性又有另外的標準。
風格對設計起指導作用,并由此驅動對一系列架構屬性的滿足。架構屬性還包括對架構的約束,這些約束一方面能夠對設計與實現(xiàn)進行規(guī)范,另一方面也可以減少選擇項,讓設計變得更為簡單。
5
| 一種架構風格是一組協(xié)作的架構約束,以及在任何一個遵循該風格的架構中允許存在的元素之間的關系。 |
將風格視為約束是合理的,但約束更像是對一個封閉的大的集合中的裁剪,規(guī)定你不能做什么。風格不僅要規(guī)定你不能做什么,還要告訴你應該做什么,它要處理的是一個開放的大的空間,我們需要找到該空間內(nèi)和諧的內(nèi)容,并把不和諧的部分剔除出去。剔除出去的這部分內(nèi)容其實就是違背了架構約束的內(nèi)容。
架構風格強調(diào)的是軟件架構的不同方面,一種特定的架構可能有多種架構風格組成。這就體現(xiàn)了架構風格是有層次的。
為了保證架構的一致性,需要在整體層面體現(xiàn)為統(tǒng)一的架構風格,而在不同邊界內(nèi),展現(xiàn)另外的架構風格。換言之,這種風格的多樣性與隔離性,以及風格的層次其實是與架構的層次相對應的。
6
對于設計風格而言,除了要保證風格的一致性外,關鍵的是要找到一種與正在解決的問題最為匹配的風格。
要了解自己需要解決的問題,同時還要了解不同的架構風格的特征與優(yōu)缺點,清楚地知道這些架構風格究竟適合處理哪種場景。
【本文為專欄作者“張逸”原創(chuàng)稿件,轉載請聯(lián)系原作者】
戳這里,看該作者更多好文
分享文章:軟件設計的風格
URL網(wǎng)址:http://m.fisionsoft.com.cn/article/dhogssi.html


咨詢
建站咨詢
