亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        面向?qū)ο蠹夹g(shù)在軟件重用和體系結(jié)構(gòu)中的應(yīng)用

        字號(hào):

        面向?qū)ο蠹夹g(shù)提供了一種新的認(rèn)知和表示世界的思想和方法,它對(duì)計(jì)算機(jī)工業(yè)的影響是深遠(yuǎn)的。計(jì)算機(jī)從業(yè)人士利用它提出了面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言、面向?qū)ο蟮能浖O(shè)計(jì)方法、面向?qū)ο蟮臄?shù)據(jù)庫(kù)等等。同時(shí)面向?qū)ο蠹夹g(shù)為軟件工業(yè)實(shí)現(xiàn)工程化提供了強(qiáng)有力的支持,正是面向?qū)ο蠹夹g(shù)造就了組件、構(gòu)件、中間件等概念。
            1 可重用軟件組件
            計(jì)算機(jī)的不斷發(fā)展為計(jì)算機(jī)及網(wǎng)絡(luò)應(yīng)用提供了大量技術(shù)先進(jìn)、功能強(qiáng)大的應(yīng)用軟件系統(tǒng),同時(shí)也給軟件開發(fā)者和用戶帶來了相應(yīng)的問題:
            · 軟件系統(tǒng)規(guī)模龐大,研制周期長(zhǎng),維護(hù)費(fèi)用高;
            · 軟件系統(tǒng)過于復(fù)雜,在一個(gè)系統(tǒng)中集成了各種功能,大多數(shù)功能不能靈活地裝卸、單獨(dú)升級(jí)或重復(fù)利用;
            · 應(yīng)用軟件不易集成,即使各應(yīng)用程序是用相同的編程語(yǔ)言編寫的,并且運(yùn)行在相同的計(jì)算機(jī)上,特定應(yīng)用程序的數(shù)據(jù)和功能也不能提供給其他應(yīng)用程序使用。
            為克服上述困難,實(shí)現(xiàn)全行業(yè)范圍內(nèi)的軟件"即插即用",關(guān)鍵是解決軟件系統(tǒng)的可操作性、可擴(kuò)展性、語(yǔ)言獨(dú)立性和跨平臺(tái)的操作能力。
            作為解決這類問題的一種方案,面向?qū)ο蟮某绦蛟O(shè)計(jì)思想20多年來得到很大發(fā)展。孤立的面向?qū)ο笏枷腚m然功能強(qiáng)大,但目前其發(fā)展已接近極限,結(jié)果是產(chǎn)生了大量的"對(duì)象孤島"。將面向?qū)ο笏枷肱c組件編程思想相接合發(fā)展起來的基于對(duì)象的組件軟件結(jié)構(gòu)為這一領(lǐng)域開辟了新的道路。
            從廣義上說,軟件組件是一種定義良好的獨(dú)立、可重用的二進(jìn)制代碼,包括功能模塊、被封裝的對(duì)象類、軟件框架和軟件系統(tǒng)模型等。
            本世紀(jì)60年代末到80年代初,結(jié)構(gòu)化的模塊式軟件開發(fā)思想占主導(dǎo)地位,當(dāng)時(shí)的組件的含義是指一些定義良好的方法包或功能模塊。
            80年代起,面向?qū)ο蟮能浖_發(fā)思想迅速發(fā)展起來,這時(shí)的軟件組件的含義就是類庫(kù)。類雖然提供了封裝性、多態(tài)性和繼承性,但需要依賴于具體的編程語(yǔ)言,耦合度高,且需要用戶對(duì)類庫(kù)的結(jié)構(gòu)和宿主語(yǔ)言有較深入的了解,因此,不能完全達(dá)到軟件重用的可移植性和互操作性要求。
            90年代后,組件的內(nèi)涵進(jìn)一步加強(qiáng),聚合性、獨(dú)立性和重用性進(jìn)一步提高。目前,基于對(duì)象的組件軟件體系結(jié)構(gòu)中的組件是指可方便地插入到語(yǔ)言、工具、操作系統(tǒng)、網(wǎng)絡(luò)系統(tǒng)中的二進(jìn)制代碼和數(shù)據(jù)。
            這種軟件組件可以看作是一種軟件集成電路元件,具有以下特點(diǎn):
            · 軟件IC沒有硬件IC的天然聚合性,構(gòu)成粒度大小自由,便于擴(kuò)展;
            · 通過規(guī)定一個(gè)統(tǒng)一的二進(jìn)制標(biāo)準(zhǔn),建立起機(jī)構(gòu)之間的智能互操作機(jī)制和語(yǔ)言獨(dú)立性;
            · 外界僅通過接口訪問組件;
            · 多側(cè)面性,即組件表達(dá)的語(yǔ)義層次高,可以從不同側(cè)面進(jìn)行連接,外部特性不;
            · 支持封裝、繼承、多態(tài)性。
            基于經(jīng)典面向?qū)ο蠹夹g(shù)的組件模型為軟件體系結(jié)構(gòu)設(shè)計(jì)和大型應(yīng)用軟件開發(fā)給予了強(qiáng)有力的支持,目前已經(jīng)為軟件行業(yè)所廣泛接受。Microsoft的OLE/COM和SunSoft的JavaBeans都是典型的軟件組件規(guī)范。
            1.1 JavaBeans
            Java Bean是基于Java環(huán)境的,可視的、可操縱的、可重用的組件;JavaBeans組件模型是SunSoft制定的關(guān)于Bean的軟件組件標(biāo)準(zhǔn),規(guī)定設(shè)計(jì)所有Bean所依據(jù)的框架,確保Bean在具備特定功能的同時(shí),還能被可視化軟件構(gòu)造工具所識(shí)別、操縱,并能將這些設(shè)計(jì)信息保存下來,指導(dǎo)運(yùn)行時(shí)的行為。
            作為可視化組件,所有JavaBean都具備如下特征:
            · 內(nèi)省(introspection)機(jī)制,能夠告訴軟件構(gòu)造工具其所能完成的功能,從而允許軟件構(gòu)造工具在設(shè)計(jì)時(shí)對(duì)其加以操縱;
            · 用戶定制(customization)機(jī)制,允許程序員在軟件開發(fā)階段利用軟件構(gòu)造工具改變Bean的外觀和行為方式。
            · 事件(event)機(jī)制,能捕捉事件、引發(fā)事件,并將其所能產(chǎn)生和處理的事件告知軟件構(gòu)造工具。
            · 特性(properties)機(jī)制,除在軟件開發(fā)階段支持用戶定制外,還使得軟件系統(tǒng)能夠在運(yùn)行時(shí)刻對(duì)Bean進(jìn)行加工和控制;
            · 保持(persistence)機(jī)制,保存程序員開發(fā)時(shí)利用構(gòu)造工具對(duì)Bean所做的修改,并在運(yùn)行時(shí)予以恢復(fù)。
            · 設(shè)計(jì)時(shí)刻功能和運(yùn)行時(shí)刻功能分離。
            JavaBean主要用于可視化環(huán)境,為軟件構(gòu)造工具所利用,但也能通過程序接口直接操縱,Java類庫(kù)中提供了相應(yīng)的控制類。