實(shí)現(xiàn)松耦合了。 那就有可能設(shè)計(jì)一種軟件框架:它能夠?yàn)槊總€(gè)部件提供非常棒的服務(wù)訪問,軟件組件是 松耦合loosely coupled,這些組件的大部分通過幾行代碼就可以實(shí)現(xiàn)替換。目前這種方便的實(shí)現(xiàn)方式是使用XML進(jìn)行組件的配置。 JdonFramework/Spring都是這樣的一種框架,JdonFramework更進(jìn)步的是:JF框架本身的組件也是可以替換的,例如你希望在JF中使用Spring的配置文件,那么你只要做一個(gè)Spring配置文件的解析組件,然后替換JF框架原來的XML解析器就可以了。無論EJB2/EJB3等在這方面要稍遜于Ioc/AOP框架,對(duì)于支持EJB3的JBoss 4 這樣架構(gòu),需要?jiǎng)討B(tài)更換AOP攔截器還不是很方便,因?yàn)镴Boss 4本身組件沒有象JF那樣做到可插拔配置,不過,JBoss 5已經(jīng)開始走上這條路,使用一個(gè)微核心來管理所有的可插拔組件,我曾經(jīng)在"JBoss 5迎來中間件徹底的可配置時(shí)代"一文中提出組件是否方便替換是衡量一個(gè)組件框架的重要指標(biāo)。 在最近的TheServerSide文章Service Access to the software components中,主要是談?wù)摿吮憩F(xiàn)層組件的替換訪問方式,GIF這樣圖片組件不可以隨意控制調(diào)整,基本不能復(fù)用,但是通過SVG或XUI等支持XML組件動(dòng)態(tài)替換技術(shù)的使用,則可以實(shí)現(xiàn)顯示圖形組件的復(fù)用。
SOA
在軟件運(yùn)行時(shí),給予用戶動(dòng)態(tài)插拔式更換組件,達(dá)到復(fù)用的組件更加適合變化的需求,這是軟件業(yè)追求的目標(biāo),而SOA(Service Oriented Architecture)則是從另外一種方向也是在運(yùn)行時(shí)提供用戶一種改變系統(tǒng)的能力。 SCBA(Services and Components Based Architecture), SCBA是通過減少需求變化帶來的傳遞損耗和時(shí)間來實(shí)現(xiàn)的,當(dāng)需求變化時(shí),SOA的服務(wù)將支持跟進(jìn)變化和替換。 SCBA更強(qiáng)調(diào)的是一種業(yè)務(wù)過程重用,而且是跨組織跨多個(gè)專業(yè)域范圍的,例如我以前說的四色圖實(shí)際是對(duì)跨域范圍的業(yè)務(wù)總結(jié),特別是ERP域范圍,大多數(shù)企業(yè)系統(tǒng)都是由MI等四種原始模型組成的,例如JiveJdon3看上去只是一個(gè)論壇系統(tǒng),實(shí)際不只是,它的Message模型可以重用在網(wǎng)站內(nèi)容系統(tǒng)、新聞發(fā)布系統(tǒng)、電子商務(wù)系統(tǒng)、倉庫管理系統(tǒng)、資源管理系統(tǒng)等跨域范圍中(部分已經(jīng)實(shí)現(xiàn))。 既然業(yè)務(wù)過程和IT系統(tǒng)可以跨組織跨域重用,那么類似軟件系統(tǒng)的維護(hù)和開發(fā)就不必再重新開發(fā),JiveJdon3的Message模型重用在新聞發(fā)布系統(tǒng)中,我需要把JiveJdon3的項(xiàng)目拷貝到新聞發(fā)布系統(tǒng)中,然后再針對(duì)新聞發(fā)布系統(tǒng)特點(diǎn)做些裁剪修改,這這種復(fù)制業(yè)會(huì)帶來工作量和維護(hù)量,而SCBA則可以解決這個(gè)問題,通過運(yùn)行時(shí)single-copy reuse分享各種服務(wù)功能。 更多SOA重用可參考“Service Component White Paper”一文。
總結(jié)
本文總結(jié)了軟件復(fù)用的不同層次:設(shè)計(jì)復(fù)用、組件架構(gòu)復(fù)用以及業(yè)務(wù)模型復(fù)用,復(fù)用技術(shù) 的不斷發(fā)展正是由于適應(yīng)變化需求的要求不斷提高導(dǎo)致,本人從2002年開始從事復(fù)用技術(shù)研究,最初從復(fù)用層次底層設(shè)計(jì)模式開始,在國內(nèi)媒體第一次全面分析了GoF設(shè)計(jì)模式(其中個(gè)別模式當(dāng)時(shí)被天極網(wǎng)轉(zhuǎn)載), 經(jīng)過這幾年發(fā)展,親身體會(huì)復(fù)用技術(shù)已經(jīng)進(jìn)入了一個(gè)新的階段。特寫此文作為小結(jié)。
項(xiàng)目經(jīng)理勝任力免費(fèi)測(cè)評(píng)PMQ上線啦!快來測(cè)測(cè)你排多少名吧~
http://m.opto-elec.com.cn/pmqhd/index.html