除了傳統的設計模式外,另外還有一些大的方面-如何從宏觀構建軟體項目-架構模式一 基礎

來源:互聯網
上載者:User
Cambria">架構模式1Calibri;mso-hansi-font-family:Calibri">理論

架構模式(Architectural Pattern)
  一個架構模式描述軟體系統裡的基本的結構組織或綱要。架構模式提供一些事先定義好的子系統,指定它們的責任,並給出把它們組織在一起的法則和指南。有些作者把這種架構模式叫做系統模式[STELTING02]。
  一個架構模式常常可以分解成很多個設計模式的聯合使用。顯然,MVC模式就是屬於這一種模式。MVC模式常常包括調停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、觀察者(Observer)模式等。
  此外,常見的架構模式還有:
  ·Layers(分層)模式,有時也稱Tiers模式
  ·Blackboard(黑板)模式
  ·Broker(中介)模式
  ·Distributed Process(分散過程)模式
  ·Microkernel(微核)模式
  架構模式常常劃分成如下的幾種:
  一)、 From Mud to Structure型。協助架構師將系統合理劃分,避免形成一個對象的海洋(A sea of objects)。包括Layers(分層)模式、Blackboard(黑板)模式、Pipes/Filters(管道/過濾器)模式等。
  二)、分散系統(Distributed Systems)型。為分散式系統提供完整的架構設計,包括像Broker(中介)模式等。
  三)、人機互動(Interactive Systems)型,支援包含有人機互動介面的系統的架構設計,例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。
  四)、Adaptable Systems型,支援應用系統適應技術的變化、軟體功能需求的變化。如Reflection(反射)模式、Microkernel(微核)模式等。 

來自:http://fanqiang.chinaunix.net/program/project/2005-06-16/3316.shtml

Layers架構模式
  在收集到使用者對軟體的要求之後,架構設計就開始了。架構設計一個主要的目的,就是把系統劃分成為很多"板塊"。劃分的方式通常有兩種,一種是橫向的劃分,一種是縱向劃分。
  橫向劃分將系統按照商業目的劃分。比如一個書店的管理系統可以劃分成為進貨、銷售、庫存管理、員工管理等等。
  縱向劃分則不同,它按照抽象層次的高低,將系統劃分成"層",或叫Layer。比如一個公司的內網管理系統通常可以劃分成為下面的幾個Layer:
  一、網頁,也就是使用者介面,負責顯示資料、接受使用者輸入;
  二、領域層,包括JavaBean或者COM對象、B2B服務等,封裝了必要的商業邏輯,負責根據商業邏輯決定顯示什麼資料、以及如何根據使用者輸入的資料進行計算;
  三、資料庫,負責儲存資料,按照查詢要求提供所儲存的資料。
  四、作業系統層,比如Windows NT或者Solaris等
  五、硬體層,比如SUN E450伺服器等
  有人把這種Layer叫做Tier,但是Tier多帶有物理含義,不同的Tier往往位於不同的電腦上,由網路連接起來,而Layer是純粹邏輯的概念,與物理劃分無關。
  Layers架構模式的好處是:
  第一、任何一層的變化都可以很好地局限於這一層,而不會影響到其他各層。
  第二、更容易容納新的技術和變化。Layers架構模式容許任何一層變更所使用的技術

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.