當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]軟件架構設計的三個維度

架構設計是一個非常大的話題,不管寫幾篇文章,接觸到的始終只是冰山一角,更多的是實踐中去體會。這篇文章主要介紹面向對象OO、面向方面AOP和面向服務SOA這三個要素在架構設計中的位置與作用。

  架構設計有三個維度,或者說是我們在考慮架構時需要思考三個方向。

  這三個維度分別為面向對象、面向方面、面向服務。

  這三個維度可以看作是正交的,但不同維度會互相印證,互相支撐,整個架構的示意圖如圖所示。

  

 

  圖:架構三維度結構圖

  面向對象

  面向對象技術最初是從面向對象的程序設計開始的,它的出現(xiàn)以上世紀60年代Simula語言為標志,并在Smalltalk語言的完善和標準化過程中得到更多的擴展和對以前思想的重新注解。

  上世紀80年代中后期,面向對象程序設計逐漸成熟,被計算機界理解和接受,人們又開始進一步考慮面向對象的開發(fā)問題。直到現(xiàn)在,面向對象已經(jīng)成為一種非常流行的編程方式,以及軟件設計的架構。

  面向對象提出有三個主要目標:重用性、靈活性和擴展性,強調對象的“抽象”、“封裝”、“繼承”和“多態(tài)”。它能讓人們以更加接近于現(xiàn)實世界的方式來思考程序,這點可以說是面向對象最大的進步。

  在OO思想的運用上,業(yè)界出現(xiàn)了很多好的經(jīng)驗與技巧,從而涌現(xiàn)出大量的設計模式,可以說面向對象是系統(tǒng)分析與設計時的一個很重要的方面。面向方面

 

  面向方面最初來源于hook技術,本質上就是滿足擴展的需求,可以在程序中自由擴展功能。

  面向方面不僅僅是一門編程技術,同樣也是一種架構設計的思路。如果說OO是縱向地分析、切割整個系統(tǒng),那么可以認為AOP是橫向地對系統(tǒng)作切片。

  簡單地理解,OO與AOP分別從兩個不同的角度給我們提供了分析系統(tǒng)的思路。面向方面可以彌補面向對象的缺陷,兩種方式有機的結合在一起,可以更加有效地對系統(tǒng)進行分析。

  我們認為OO是接近于人類認識自然的思維方式,但對于東方而言卻并不一定是這樣的。

  當西方人看到一個復雜系統(tǒng)的時候,只會有一種思路,就是“分解”,將系統(tǒng)分解成一塊一塊,然后每個部分進行研究。

  當東方人看到一個復雜系統(tǒng)的時候,更多地會關注系統(tǒng)中存在的關系,將系統(tǒng)作為一個有機的整體進行研究,這也是東方和西方在事物看法上存在的差異。

  這兩種思維方式都沒有問題,如果結合起來分析問題,解決問題會更好。面向對象與面向方面也同樣如此,都能對應到人類認識自然的思維方式上。

  面向服務

  面向服務可以說是最近炒得比較火熱的概念。包括現(xiàn)在提到的SaaS(Software as a service),軟件即服務。準確而言,面向服務不僅僅是軟件行業(yè)的概念,這個要從社會的產業(yè)結構說起。

  社會產業(yè)總共分為三個,第一產業(yè)農業(yè),第二產業(yè)工業(yè),第三產業(yè)服務業(yè)。最早社會的主要產業(yè)是第一產業(yè)農業(yè),將近有幾萬年的歷史。

  十八世紀下半葉在英國開始的工業(yè)革命,對人們的生活產生了根本性的影響,社會的主要產業(yè)成了第二產業(yè)工業(yè)。

  現(xiàn)在仍然屬于工業(yè)時代,或者有人說的“后工業(yè)時代”。而在后工業(yè)時代,社會的經(jīng)濟體制必定要向第三產業(yè)服務業(yè)逐漸轉型。面向服務其實是社會經(jīng)濟體制重心的一種遷移。

  還是說回到軟件行業(yè),社會的主要產業(yè)將轉變成服務業(yè),自然軟件行業(yè)也會出現(xiàn)對應的變化,那就是這里提到的面向服務。面向服務今后會影響到軟件的交付模式,會對整個軟件行業(yè)的體制產生影響。

  而說到架構層面,面向服務是系統(tǒng)發(fā)布功能的一種方式。并且基于這種方式下不同的系統(tǒng)之間能有效地通信、協(xié)作。常見的實現(xiàn)技術就是Web Service。

  軟件全局觀

  軟件架構設計的三個維度:面向對象、面向方面、面向服務。

  最年長的一個維度就是面向對象,發(fā)展了好幾十年,也是相對而言比較成熟的一個維度。它解決的問題是系統(tǒng)內部結構的設計。

  面向方面思想的提出能夠彌補面向對象的缺陷。面向對象的方式不能實現(xiàn)橫切關注點的分離,而面向方面正是為了解決這個問題。面向方面與面向對象一樣都是解決系統(tǒng)內部結構的設計。

  面向服務更多的是涉及到系統(tǒng)的外部,簡單地說就是發(fā)布功能。它并不關注系統(tǒng)內部結構的實現(xiàn),所以說面向服務與面向對象或者面向方面并不沖突。

  這三個維度并不是絕對孤立的,它們之間會互相影響、制約,相互發(fā)展的。我們在分析架構的時候需要同時考慮到這三個維度的問題,這樣有助于我們設計出更加優(yōu)秀的架構。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉