• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • 設計模式:Bridge模式和Composite模式

    發表于:2008-10-08來源:作者:點擊數: 標簽:設計CompositeBridge模式
    關鍵字:架構設計 Bridge:主要實現的原理就是把接口和實現分離開來, 保證他們在兩個不同的類層次結構。 之所以用Bridge而不是直接繼承實現主要有兩個好處: 1,二進制兼容:假設我們的應用程序需要用到format功能,我們可能有要引用兩個第三方JAR包,format
    關鍵字:架構設計

      Bridge:主要實現的原理就是把接口和實現分離開來, 保證他們在兩個不同的類層次結構。

      之所以用Bridge而不是直接繼承實現主要有兩個好處:

      1,二進制兼容:假設我們的應用程序需要用到format功能,我們可能有要引用兩個第三方JAR包,formatInterface.JAR And formatImp.jar,我們程序可能只引用了formatInterface.jar中的接口,而formatImpl.jar里是什么我們根本不需要關心,因為他是formatInterface的實現,所以當他改變的時候,我們的應用程序完全不用重新修改代碼,編譯??赡芪以?STRONG>LINUX下用LINUXFormatImpl.jar, 再WINDOW下use WindowFormatImpl.jar, but Application will never care about it.

      2. 接口與實現的分離:實現不一定實現接口的內容,就是說實現同接口之間不是一一對應的,實現可能完成最原子的操作,而接口通過持有一個實現的應用,組裝這些操作來實現接口。比如說接口是createRectangle(), 實現可能只完成了createLine的操作,然后有接口來組裝。

      Composite模式則要從全局的角度考慮對象之間的關系是否滿足“樹枝”與“樹葉”的關系,如果滿足,則需要定義一個樹枝與樹葉的集合接口Tree,既包含樹枝接口add(tree)和樹葉接口getColor()。

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>