隨筆 - 1  文章 - 37  trackbacks - 0
          <2025年7月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          test

          搜索

          •  

          最新評論

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

          被動(dòng)模式可以理解為三種模式: 開發(fā)模式, 部署模式,云模式。

          一.  開發(fā)模式

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

          interface InterfaceA  }

          class ClassB { InterfaceA ref = createInterfaceA();  }

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

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

          二.  部署模式

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

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

          Extwind的部署模式:需要部署的時(shí)候,給我個(gè)電話,告訴我東西在哪,我去取。
          這個(gè)“電話”就是一個(gè)部署描述符(Deploy Description),它描述了部署方式,應(yīng)用程序或模塊的存放地(Repository)等細(xì)節(jié),Extwind通過這個(gè)描述符從指定的Repository中獲取應(yīng)用程序并部署。
          如果以面向?qū)ο髞砜此梢詫⑦@個(gè)描述符理解為一個(gè)interface,它將影響到部署模式的擴(kuò)展性和伸縮性。

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


          三. 云模式

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


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

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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 谷城县| 麻江县| 色达县| 嘉鱼县| 招远市| 左贡县| 临江市| 全州县| 华坪县| 黄冈市| 恩施市| 新沂市| 枞阳县| 蚌埠市| 陈巴尔虎旗| 栖霞市| 新建县| 沙田区| 仙桃市| 扎赉特旗| 维西| 中牟县| 紫云| 信阳市| 沁源县| 屏东市| 江门市| 高平市| 资溪县| 江城| 乌拉特后旗| 兴和县| 黄浦区| 东山县| 和龙市| 双峰县| 白玉县| 河源市| 垫江县| 莎车县| 新乐市|