隨筆 - 1  文章 - 37  trackbacks - 0
          <2025年6月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          293012345

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          test

          搜索

          •  

          最新評論

          從Spring ioc中引申出的一句話是比較經典的:別來找我,在那等著,我會去找你。
          被動模式,與這個概念很相近:別把東西給我,告訴我在哪能取到它。

          被動模式可以理解為三種模式: 開發模式, 部署模式,云模式。

          一.  開發模式

          實際上在我們的代碼開發中,就一直在使用這種開發模式,例如

          interface InterfaceA  }

          class ClassB { InterfaceA ref = createInterfaceA();  }

          使用create方法,而不是直接new。也就是說告訴了ClassB,在create方法中獲得InterfaceA.

          這是一個很簡單的例子,受它直接影響的,是系統的擴展性。在一個可擴展(伸縮)的系統中,例如在Eclipse產品程序,或是基于可插拔模塊的應用程序開發中,則是隨處可見的被動應用模式,這樣的系統,對于現有組成部分在開發過程中很容易解決,但是對于未知組成部分(擴展性),只能通過被動模式解決,例如Extwind,在基于osgi的web應用程序中,Dynamic IoC和Extension-Point所做的事。

          二.  部署模式

          目前web應用程序的部署,可以總結為這樣一句話:需要部署的時候就來找我,別忘了把東西帶上!
          這與現在的服務理念完全相悖,快遞公司都有上門取貨這項服務。
          如果以開發模式來看,這就屬于  Deploy deploy = new FixedDeploy() ,而不是getDeploy()。

          這是一種陳舊的部署模式,毫無擴展性和伸縮性,它讓很多原本簡單的事情變得很復雜,雖然這是一種部署模式,但是它將影響到后來的架構模式。

          Extwind的部署模式:需要部署的時候,給我個電話,告訴我東西在哪,我去取。
          這個“電話”就是一個部署描述符(Deploy Description),它描述了部署方式,應用程序或模塊的存放地(Repository)等細節,Extwind通過這個描述符從指定的Repository中獲取應用程序并部署。
          如果以面向對象來看它,可以將這個描述符理解為一個interface,它將影響到部署模式的擴展性和伸縮性。

          Extwind中的repository與maven中的repository很像,對于它的定義,主要有2個方面:
          1. 組件庫,這可以通過maven來幫助完成
          2. 部署庫,由應用程序生成的受支持的部署庫,部署時,只需要將描述符指向該庫或庫中的某些組件。


          三. 云模式

          用一個例子來理解云模式:
          新增一臺386,可以為云增加1%的計算能力;
          新增一個集群環境,可以為云增加20%的計算能力;
          這里的計算能力就是一種資源,可以理解為服務能力。之前提到過,對于未知資源,只能通過被動模式來獲取,Extwind將會通過云模式來提供可伸縮的服務環境。


          Extwind要做的事情只有一件:讓原本簡單的事情,不要太復雜。
          posted on 2009-07-02 15:24 Phrancol Yang 閱讀(359) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 盖州市| 德兴市| 云霄县| 偏关县| 彭水| 铁力市| 台东市| 常宁市| 环江| 长葛市| 吉林市| 含山县| 弥勒县| 玉龙| 孙吴县| 巴彦县| 上犹县| 文昌市| 巧家县| 祁阳县| 宁阳县| 江北区| 南木林县| 廊坊市| 城固县| 沾化县| 屯昌县| 集安市| 苗栗县| 炎陵县| 会昌县| 通渭县| 光山县| 房产| 鄂州市| 塘沽区| 五河县| 新龙县| 阳城县| 滕州市| 济阳县|