色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

插件式架構(gòu)設(shè)計(jì)實(shí)踐二:基于Silverlight的B/S插件式架構(gòu)設(shè)計(jì)方法

  架構(gòu)設(shè)計(jì)并不是項(xiàng)簡(jiǎn)單的工作,架構(gòu)設(shè)計(jì)最終的產(chǎn)物則是由不同的框架組件構(gòu)成一套高擴(kuò)展、穩(wěn)定、安全、通用的開(kāi)發(fā)框架平臺(tái)。或許一提到架構(gòu)設(shè)計(jì),很多朋友都聯(lián)想到了常用的框架組件:數(shù)據(jù)訪問(wèn)組件、日志組件、事務(wù)組件、消息組件、配置組件以及工具庫(kù)等。然而,本系列文章的中心“插件式框架設(shè)計(jì)”已經(jīng)偏離了常規(guī)的框架設(shè)計(jì)方法論,它只是一套用于改善系統(tǒng)功能模塊組織結(jié)構(gòu),靈活開(kāi)發(fā)、部署、維護(hù)的一套方法論,其中的每個(gè)功能模塊的具體實(shí)現(xiàn)還是走常規(guī)的開(kāi)發(fā)框架,它自身的職責(zé)則主要是負(fù)責(zé)根據(jù)配置文件實(shí)現(xiàn)系統(tǒng)功能模塊的組裝,靈活的卸載某個(gè)部件以及各部件之間如何通信等。

  本篇將和大家分享基于Silverlight的B/S插件式架構(gòu)設(shè)計(jì)的方法,文中的內(nèi)容僅僅只是我個(gè)人知識(shí)、經(jīng)驗(yàn)的總結(jié),如有不妥之處還望各位讀者給予指正,大家共同學(xué)習(xí),進(jìn)步。

  對(duì)于Silverlight項(xiàng)目而言,前端系統(tǒng)需要后臺(tái)服務(wù)接口的支撐才能完成數(shù)據(jù)通信訪問(wèn)、儲(chǔ)存數(shù)據(jù)的的功能。通常需要給Silverlight前端提供相應(yīng)的數(shù)據(jù)通信接口,可分為多種方式提供,常用的數(shù)據(jù)通信接口分別有Socket、HttpHandler、WebService以及WCF等方式。詳細(xì)的架構(gòu)模型如下圖所示:          

  系統(tǒng)后臺(tái)采取的技術(shù)架構(gòu)為是豎向分成架構(gòu)模式+橫向擴(kuò)展架構(gòu)模式相結(jié)合,分成架構(gòu)模式也就是眾所周知的三層/多層架構(gòu),這里不做詳細(xì)介紹;橫向擴(kuò)展架構(gòu)模式則為支持橫向業(yè)務(wù)擴(kuò)展的架構(gòu)模式,所有業(yè)務(wù)組件(我通常稱其為:業(yè)務(wù)插件)通過(guò)實(shí)現(xiàn)統(tǒng)一的業(yè)務(wù)服務(wù)接口來(lái)擴(kuò)展系統(tǒng)業(yè)務(wù)功能,系統(tǒng)框架中的業(yè)務(wù)組件容器(我通常稱其為:業(yè)務(wù)插件容器)使用統(tǒng)一的業(yè)務(wù)服務(wù)接口靈活的管理業(yè)務(wù)組件,實(shí)現(xiàn)各組件之間的數(shù)據(jù)通信、事件通知、以及靈活的構(gòu)造、銷毀業(yè)務(wù)組件實(shí)例。總上述,這種架構(gòu)模式我便稱其為插件式架構(gòu)設(shè)計(jì)。

  插件式架構(gòu)設(shè)計(jì)的框架能夠靈活的橫向擴(kuò)展業(yè)務(wù)組件的擴(kuò)展開(kāi)發(fā),管理業(yè)務(wù)組件的生命周期等,然而對(duì)于RIA應(yīng)用系統(tǒng)來(lái)說(shuō),他只需要依賴一個(gè)或多個(gè)通信接口實(shí)現(xiàn)數(shù)據(jù)通信,不用關(guān)心服務(wù)后臺(tái)的架構(gòu)以及具體是實(shí)現(xiàn)細(xì)節(jié)。需要注重點(diǎn)則是關(guān)于系統(tǒng)前端的框架架構(gòu)設(shè)計(jì),一套基于Silverlight技術(shù)的插件式架構(gòu)設(shè)計(jì)方法,通過(guò)插件框架靈活的加載、組合、初始化并進(jìn)行托管運(yùn)行系統(tǒng)插件模塊,是我們期望達(dá)到的目的。如上所述,插件式框架的架構(gòu)圖大致如下所示:        

  系統(tǒng)前端的核心架構(gòu)受到所采用的技術(shù)方案的影響,會(huì)演化出不同的架構(gòu)設(shè)計(jì)方法和架構(gòu)風(fēng)格, 如前面所說(shuō)我們采用的是RIA的技術(shù)Silverlight來(lái)進(jìn)行技術(shù)構(gòu)建,那么在進(jìn)行系統(tǒng)架構(gòu)設(shè)計(jì)中定會(huì)受到Silverlight技術(shù)自身的一些限制,以至于我們的設(shè)計(jì)不能按照常規(guī)的方法,方式去實(shí)現(xiàn)。

  Silverlight能夠?yàn)橛脩籼峁└哂脩趔w驗(yàn)的軟件界面,以及傳統(tǒng)的Web應(yīng)用實(shí)現(xiàn)不了的很多功能,且也有很多的局限性,系統(tǒng)功能模塊過(guò)多導(dǎo)致發(fā)布出來(lái)的應(yīng)用程序包(.xap)過(guò)大,導(dǎo)致系統(tǒng)運(yùn)行中初始化緩慢等諸多問(wèn)題。我們需要一種全新的、開(kāi)放性的、高擴(kuò)展性的架構(gòu)體系,來(lái)緩解這種因?yàn)榧夹g(shù)自身的缺陷造成的諸多問(wèn)題,可以實(shí)現(xiàn)快速的啟動(dòng)應(yīng)用程序初始化界面,根據(jù)配置動(dòng)態(tài)組裝系統(tǒng)功能模塊,以及靈活的擴(kuò)展新的系統(tǒng)功能模塊等功能,我將這種架構(gòu)體系命名為插件式架構(gòu)體系(或許與別人口中的插件式架構(gòu)有所區(qū)別)。        

  如上圖所示,描述了插件框架的框架結(jié)構(gòu),框架由插件容器、插件契約和插件組件(業(yè)務(wù)功能插件)三大部分組成,擴(kuò)展開(kāi)發(fā)新的插件組件需要實(shí)現(xiàn)插件契約接口,以便插件容器可以靈活的控制插件組件。關(guān)于這三大組成部分的作用請(qǐng)查看《插件式架構(gòu)設(shè)計(jì)簡(jiǎn)介》,本篇對(duì)基于Silverlight插件式架構(gòu)設(shè)計(jì)方法進(jìn)行了介紹,下一篇將詳細(xì)介紹插件式架構(gòu)設(shè)計(jì)的解決方案。

  推薦資料:

  《MEF程序設(shè)計(jì)指南》:http://www.cnblogs.com/beniao/archive/2010/08/11/1797537.html

  《Silverlight動(dòng)畫開(kāi)發(fā)教程》:http://www.cnblogs.com/beniao/archive/2010/04/04/1703992.html

  《一步一步學(xué)Silverlight教程》:http://www.cnblogs.com/Terrylee/archive/2008/03/09/Silverlight2-step-by-step-Tutorials.html

  《Silverlight MSDN Webcast》:http://www.msdnwebcast.NET/webcast/2098.ASPx

it知識(shí)庫(kù)插件式架構(gòu)設(shè)計(jì)實(shí)踐二:基于Silverlight的B/S插件式架構(gòu)設(shè)計(jì)方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 宝应县| 甘德县| 达拉特旗| 和龙市| 荣成市| 南和县| 盈江县| 株洲市| 霍城县| 邮箱| 定西市| 克山县| 通辽市| 阳泉市| 靖边县| 沂水县| 临西县| 新昌县| 张家港市| 天镇县| 南丰县| 阳东县| 武邑县| 成武县| 西贡区| 静乐县| 呈贡县| 思茅市| 获嘉县| 公主岭市| 平潭县| 翁牛特旗| 临西县| 阆中市| 太仆寺旗| 绥芬河市| 泰和县| 博湖县| 封开县| 神木县| 德阳市|