在軟件開發(fā)中,使用面向?qū)ο蠹夹g(shù)開發(fā)構(gòu)件并組裝應(yīng)用系統(tǒng)是當(dāng)前的流行做法。由于這些構(gòu)件是由對(duì)象構(gòu)成的,為使對(duì)象之間能夠通過相互觸發(fā)的方式進(jìn)行交互,需要對(duì)象來維護(hù)靜態(tài)類信息和接口信息。這將導(dǎo)致對(duì)象之間具有隱式依賴
關(guān)系,同時(shí)還使對(duì)象依賴于外部服務(wù)(如通信中間件)。這些依賴關(guān)系不易于構(gòu)件在不同平臺(tái)間進(jìn)行移植,使構(gòu)件的組裝變得更加困難。不過在統(tǒng)一平臺(tái)上構(gòu)件不存在移植和組裝困難的問題。在本框架中采用IoC反射注入容器來將各個(gè)構(gòu)件組合起來而且不破壞構(gòu)件的結(jié)構(gòu)(不需要強(qiáng)制構(gòu)件與容器耦合,不需要調(diào)用容器的API),構(gòu)件的實(shí)現(xiàn)類可以為普通的Java
Bean,而不需要強(qiáng)制實(shí)現(xiàn)某些接口或者方法。
以框架為基礎(chǔ)的方法,增加了構(gòu)件的可復(fù)用性,也提高了系統(tǒng)設(shè)計(jì)和演化的柔性。
在基于構(gòu)件的軟件開發(fā)中,為了解決構(gòu)件之間的數(shù)據(jù)交換,SUN公司發(fā)布了InfoBus標(biāo)準(zhǔn)用于構(gòu)件的動(dòng)態(tài)數(shù)據(jù)共享。InfoBus符合100%純Java認(rèn)證標(biāo)準(zhǔn),它允許通過定義少量的接口并聲明使用這些接口的協(xié)議以在構(gòu)件之間進(jìn)行動(dòng)態(tài)數(shù)據(jù)交換。在HTML頁面中的Applet或者在JBuilder環(huán)境中的為JavaBeans都可以利用InfoBus進(jìn)行交互。InfoBus也可以用于任意的Java類,如Applet,Servlet等等。