<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    走在架構師的大道上 Jack.Wang's home

    Java, C++, linux c, C#.net 技術,軟件架構,領域建模,IT 項目管理 Dict.CN 在線詞典, 英語學習, 在線翻譯

    BlogJava 首頁 新隨筆 聯系 聚合 管理
      195 Posts :: 3 Stories :: 728 Comments :: 0 Trackbacks
        本文屬轉載:http://www.cnblogs.com/lovewindy/archive/2005/06/21/178184.html

    由于[GOF95]是論述軟件模式的著作的第一本,也是OO設計理論著作中最流行的一本,因此有些人常常使用設計模式(Design Pattern)一詞來指所有直接處理軟件的架構、設計、程序實現的任何種類的模式。另外一些人則強調要劃分三種不同層次的模式:架構模式(Architectural Pattern)、設計模式(Design Pattern)、成例(Idiom)。成例有時稱為代碼模式(Coding Pattern)。
        這三者之間的區別在于三種不同的模式存在于它們各自的抽象層次和具體層次上。架構模式是一個系統的高層次策略,涉及到大尺度的組件以及整體性質和力學。架構模式的好壞可以影響到總體布局和框架性結構。設計模式是中等尺度的結構策略。這些中等尺度的結構實現了一些大尺度組件的行為和它們之間的關系。模式的好壞不會影響到系統的總體布局和總體框架。設計模式定義出子系統或組件的微觀結構。代碼模式(或成例)是特定的范例和與特定語言有關的編程技巧。代碼模式的好壞會影響到一個中等尺度組件的內部、外部的結構或行為的底層細節,但不會影響到一個部件或子系統的中等尺度的結構,更不會影響到系統的總體布局和大尺度框架。 
       代碼模式或成例(Coding Pattern 或 Idiom)
        代碼模式(或成例)是較低層次的模式,并與編程語言密切相關。代碼模式描述怎樣利用一個特定的編程語言的特點來實現一個組件的某些特定的方面或關系。
        較為著名的代碼模式的例子包括雙檢鎖(Double-Check Locking)模式等。
        設計模式(Design Pattern)
        一個設計模式提供一種提煉子系統或軟件系統中的組件的,或者它們之間的關系的綱要設計。設計模式描述普遍存在的在相互通訊的組件中重復出現的結構,這種結構解決在一定的背景中的具有一般性的設計問題。
        設計模式常常劃分成不同的種類,常見的種類有:
        創建型設計模式,如工廠方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等
        結構型設計模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋梁(Bridge)模式等
        行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(State)模式、訪問者(Visitor)模式等等。
        以上是三種經典類型,實際上還有很多其他的類型,比如Fundamental型、Partition型,Relation型等等
        設計模式在特定的編程語言中實現的時候,常常會用到代碼模式。比如單例(Singleton)模式的實現常常涉及到雙檢鎖(Double-Check Locking)模式等。
        架構模式(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(微核)模式等。





    本博客為學習交流用,凡未注明引用的均為本人作品,轉載請注明出處,如有版權問題請及時通知。由于博客時間倉促,錯誤之處敬請諒解,有任何意見可給我留言,愿共同學習進步。
    posted on 2008-09-17 09:51 Jack.Wang 閱讀(1101) 評論(0)  編輯  收藏 所屬分類: 架構師篇
    主站蜘蛛池模板: 成人免费无毒在线观看网站| **一级毛片免费完整视| 亚洲春色另类小说| 含羞草国产亚洲精品岁国产精品| 无限动漫网在线观看免费| 精品亚洲麻豆1区2区3区| 91成人免费观看网站| 亚洲国产午夜中文字幕精品黄网站| 亚洲a∨无码精品色午夜| 国产小视频免费观看| 免费夜色污私人影院网站| 亚洲一级毛片免费看| 亚洲一区二区三区亚瑟| 岛国大片免费在线观看| 亚洲国产精品美女| 毛片大全免费观看| 最好2018中文免费视频| 中文字幕在亚洲第一在线| 无码国产精品一区二区免费式芒果 | 亚洲高清有码中文字| 久久精品视频免费| 亚洲AV永久无码精品一区二区国产| 亚洲伊人久久大香线蕉啊| 日本在线免费播放| 亚洲人成色7777在线观看| 九九九精品视频免费| 国产l精品国产亚洲区在线观看| 青青久久精品国产免费看| 亚洲国产精品成人精品无码区| 亚洲三级在线免费观看| 最新亚洲人成无码网站| 亚洲精品午夜无码专区| 亚洲一级毛片免费在线观看| 黄色网址免费在线| 亚洲视频一区调教| 国产青草视频在线观看免费影院| 一区二区三区免费看| 亚洲精品国产手机| 免费国产一级特黄久久| 国产亚洲精品美女久久久久| 四虎影库久免费视频|