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

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

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

    大風(fēng)起兮

    我不知道風(fēng)是在哪一個方向吹

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      7 隨筆 :: 0 文章 :: 3 評論 :: 0 Trackbacks

    由于[GOF95]是論述軟件模式的著作的第一本,也是OO設(shè)計理論著作中最流行的一本,因此有些人常常使用設(shè)計模式(Design Pattern)一詞來指所有直接處理軟件的架構(gòu)、設(shè)計、程序?qū)崿F(xiàn)的任何種類的模式。另外一些人則強(qiáng)調(diào)要劃分三種不同層次的模式:架構(gòu)模式(Architectural Pattern)、設(shè)計模式(Design Pattern)、成例(Idiom)。成例有時稱為代碼模式(Coding Pattern)。

      這三者之間的區(qū)別在于三種不同的模式存在于它們各自的抽象層次和具體層次上。架構(gòu)模式是一個系統(tǒng)的高層次策略,涉及到大尺度的組件以及整體性質(zhì)和力學(xué)。架構(gòu)模式的好壞可以影響到總體布局和框架性結(jié)構(gòu)。設(shè)計模式是中等尺度的結(jié)構(gòu)策略。這些中等尺度的結(jié)構(gòu)實現(xiàn)了一些大尺度組件的行為和它們之間的關(guān)系。模式的好壞不會影響到系統(tǒng)的總體布局和總體框架。設(shè)計模式定義出子系統(tǒng)或組件的微觀結(jié)構(gòu)。代碼模式(或成例)是特定的范例和與特定語言有關(guān)的編程技巧。代碼模式的好壞會影響到一個中等尺度組件的內(nèi)部、外部的結(jié)構(gòu)或行為的底層細(xì)節(jié),但不會影響到一個部件或子系統(tǒng)的中等尺度的結(jié)構(gòu),更不會影響到系統(tǒng)的總體布局和大尺度框架。

      代碼模式或成例(Coding Pattern 或 Idiom)

      代碼模式(或成例)是較低層次的模式,并與編程語言密切相關(guān)。代碼模式描述怎樣利用一個特定的編程語言的特點來實現(xiàn)一個組件的某些特定的方面或關(guān)系。

      較為著名的代碼模式的例子包括雙檢鎖(Double-Check Locking)模式等。

      設(shè)計模式(Design Pattern)

      一個設(shè)計模式提供一種提煉子系統(tǒng)或軟件系統(tǒng)中的組件的,或者它們之間的關(guān)系的綱要設(shè)計。設(shè)計模式描述普遍存在的在相互通訊的組件中重復(fù)出現(xiàn)的結(jié)構(gòu),這種結(jié)構(gòu)解決在一定的背景中的具有一般性的設(shè)計問題。

      設(shè)計模式常常劃分成不同的種類,常見的種類有:

      創(chuàng)建型設(shè)計模式,如工廠方法(Factory Method)模式、抽象工廠(Abstract Factory)模式、原型(Prototype)模式、單例(Singleton)模式,建造(Builder)模式等

      結(jié)構(gòu)型設(shè)計模式,如合成(Composite)模式、裝飾(Decorator)模式、代理(Proxy)模式、享元(Flyweight)模式、門面(Facade)模式、橋梁(Bridge)模式等

      行為型模式,如模版方法(Template Method)模式、觀察者(Observer)模式、迭代子(Iterator)模式、責(zé)任鏈(Chain of Responsibility)模式、備忘錄(Memento)模式、命令(Command)模式、狀態(tài)(State)模式、訪問者(Visitor)模式等等。
    以上是三種經(jīng)典類型,實際上還有很多其他的類型,比如Fundamental型、Partition型,Relation型等等

      設(shè)計模式在特定的編程語言中實現(xiàn)的時候,常常會用到代碼模式。比如單例(Singleton)模式的實現(xiàn)常常涉及到雙檢鎖(Double-Check Locking)模式等。

      架構(gòu)模式(Architectural Pattern)

      一個架構(gòu)模式描述軟件系統(tǒng)里的基本的結(jié)構(gòu)組織或綱要。架構(gòu)模式提供一些事先定義好的子系統(tǒng),指定它們的責(zé)任,并給出把它們組織在一起的法則和指南。有些作者把這種架構(gòu)模式叫做系統(tǒng)模式[STELTING02]。

      一個架構(gòu)模式常常可以分解成很多個設(shè)計模式的聯(lián)合使用。顯然,MVC模式就是屬于這一種模式。MVC模式常常包括調(diào)停者(Mediator)模式、策略(Strategy)模式、合成(Composite)模式、觀察者(Observer)模式等。

      此外,常見的架構(gòu)模式還有:

      ·Layers(分層)模式,有時也稱Tiers模式

      ·Blackboard(黑板)模式

      ·Broker(中介)模式

      ·Distributed Process(分散過程)模式

      ·Microkernel(微核)模式

      架構(gòu)模式常常劃分成如下的幾種:

      一、 From Mud to Structure型。幫助架構(gòu)師將系統(tǒng)合理劃分,避免形成一個對象的海洋(A sea of objects)。包括Layers(分層)模式、Blackboard(黑板)模式、Pipes/Filters(管道/過濾器)模式等。

      二、分散系統(tǒng)(Distributed Systems)型。為分散式系統(tǒng)提供完整的架構(gòu)設(shè)計,包括像Broker(中介)模式等。

      三、人機(jī)互動(Interactive Systems)型,支持包含有人機(jī)互動介面的系統(tǒng)的架構(gòu)設(shè)計,例子包括MVC(Model-View-Controller)模式、PAC(Presentation-Abstraction-Control)模式等。

      四、Adaptable Systems型,支持應(yīng)用系統(tǒng)適應(yīng)技術(shù)的變化、軟件功能需求的變化。如Reflection(反射)模式、Microkernel(微核)模式等。

    posted on 2007-05-16 15:53 三胖 閱讀(278) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 成年黄网站色大免费全看| 波多野结衣在线免费观看| 日韩成人免费视频播放| 亚洲国产精品一区二区第四页| 免费人成视频x8x8入口| 国产亚洲一区二区在线观看| 亚洲av无码国产精品色午夜字幕| 亚洲精品456在线播放| 亚洲欧美中文日韩视频| 人禽伦免费交视频播放| 免费看男人j放进女人j免费看| 亚洲免费视频观看| 亚洲毛片网址在线观看中文字幕 | 国产亚洲人成网站在线观看不卡| 日日摸夜夜添夜夜免费视频| 亚洲国产主播精品极品网红| 一个人免费观看视频在线中文| 日本亚洲免费无线码| 亚洲成a人片在线观看久| 一级成人毛片免费观看| 亚洲精品自在在线观看| 120秒男女动态视频免费| 亚洲免费无码在线| 成全高清在线观看免费 | 大胆亚洲人体视频| 亚洲一级视频在线观看| 国产免费阿v精品视频网址| 亚洲AV无码一区二区乱孑伦AS | 亚洲黄色网站视频| fc2免费人成在线| 成人免费毛片视频| 亚洲小视频在线观看| xxxxx做受大片视频免费| 亚洲高清在线视频| 中文字幕免费在线看电影大全 | 亚洲国产高清精品线久久| 免费看男人j放进女人j免费看| 91在线亚洲综合在线| 免费看污成人午夜网站| 国产精品久久久久久亚洲小说| 在线免费观看视频你懂的|