常學(xué)川
(嵩山少林武術(shù)職業(yè)學(xué)院,河南 登封 452470)
在面對(duì)工廠設(shè)計(jì)模式的進(jìn)化過(guò)程中,最重要的就有其“設(shè)計(jì)模式”的問(wèn)世。工廠類(lèi)可以決定簡(jiǎn)歷不同的產(chǎn)品類(lèi)的實(shí)例問(wèn)題,客戶(hù)端也可以安全的免除直接建立某些產(chǎn)品對(duì)象的相關(guān)責(zé)任問(wèn)題,而僅僅“消費(fèi)”產(chǎn)品。實(shí)現(xiàn)了對(duì)責(zé)任的分割。工廠設(shè)計(jì)模式隨之開(kāi)始了對(duì)象之間是如何進(jìn)行通信,而彼此之間的數(shù)據(jù)模型和方法之間都沒(méi)任何關(guān)系,保持分離則是優(yōu)秀面向的對(duì)象編程的良好目標(biāo)之一。一個(gè)問(wèn)題也可以有很多種解決方案的,那如何知道什么方案是最好的,這樣就明白學(xué)好設(shè)計(jì)模式的重要了。因此,研究設(shè)計(jì)模式是重要問(wèn)題,這能有效幫我們克服軟件開(kāi)發(fā)的問(wèn)題,而且,模式不但能描述怎樣構(gòu)造軟件,同時(shí)會(huì)描述類(lèi)和對(duì)象如何交互的問(wèn)題。設(shè)計(jì)模式也能夠使新系統(tǒng)開(kāi)發(fā)者更加方便的理解設(shè)計(jì)思路,方便地復(fù)用成功的設(shè)計(jì)和體系結(jié)構(gòu)造等。
設(shè)計(jì)模式是對(duì)開(kāi)發(fā)者經(jīng)常遇到的設(shè)計(jì)問(wèn)題的可在線的解決方案,設(shè)計(jì)模式建立了一系列描述如何完成軟件開(kāi)發(fā)領(lǐng)域中待定任務(wù)的規(guī)則方面的問(wèn)題,而且還更加關(guān)注復(fù)用可重復(fù)出現(xiàn)的結(jié)構(gòu)設(shè)計(jì)方案,而框架更加注重具體設(shè)計(jì)的實(shí)現(xiàn);然而,設(shè)計(jì)模式提出了一個(gè)發(fā)生在特定設(shè)計(jì)環(huán)境中的可重復(fù)出現(xiàn)的設(shè)計(jì)問(wèn)題,并提供了解決方案。然而,工廠模式是專(zhuān)門(mén)負(fù)責(zé)將大量有共同接口的類(lèi)實(shí)例化。而且工廠模式可以動(dòng)態(tài)決定將哪一個(gè)類(lèi)實(shí)例化,不必要知道每次要實(shí)化那一個(gè)類(lèi)別。工廠設(shè)計(jì)模式增加一個(gè)產(chǎn)品很簡(jiǎn)單,只要添加一個(gè)創(chuàng)建這個(gè)產(chǎn)品的實(shí)際工廠和一個(gè)此產(chǎn)品就可以了,簡(jiǎn)單清晰。缺點(diǎn)是增加了一定的代碼量。每個(gè)產(chǎn)品都必須增加一個(gè)工廠,雖然有兩個(gè)產(chǎn)品有某種聯(lián)系,但必須要是用兩個(gè)工廠來(lái)創(chuàng)建這兩個(gè)產(chǎn)品。
RMI允許虛擬機(jī)上運(yùn)行不同的Java系統(tǒng),而且可以同時(shí)訪問(wèn)。換句話說(shuō),也相當(dāng)于我們Java的系統(tǒng)的運(yùn)行也是可以在本地的設(shè)備上運(yùn)行,而其他的大部分則是在遠(yuǎn)程或者其他方式上運(yùn)行。而就遠(yuǎn)程運(yùn)行方面也會(huì)涉及執(zhí)行特定的遠(yuǎn)程協(xié)議。由java的PMI中服務(wù)器上類(lèi)實(shí)遠(yuǎn)程端口,通過(guò)產(chǎn)生樁或者是通過(guò)服務(wù)器進(jìn)行遠(yuǎn)端對(duì)象的使用。
具體的來(lái)說(shuō),JavaRMI是適合多種分布網(wǎng)絡(luò)的,包括開(kāi)發(fā)分布式應(yīng)用程序。JavaRMI采用多種方式在網(wǎng)絡(luò)上傳輸,傳輸?shù)淖止?jié)也是包含本地的和遠(yuǎn)程的一些必要的信息。Java中很重要的一部分也是JavaRMI,它是一種全新的激動(dòng)人心的分布系統(tǒng)應(yīng)用。其中包含遠(yuǎn)程調(diào)用的許多種有效的方法。在Java中,系統(tǒng)應(yīng)用的接口是通過(guò)多類(lèi)來(lái)生成新類(lèi)相互聯(lián)系的一種結(jié)構(gòu)。通常,在Java中也是沒(méi)那么多的繼承的方式,也是只有一種的,但是在JavaRMI的研究應(yīng)用中,漸漸的發(fā)現(xiàn)也已實(shí)現(xiàn)多類(lèi)繼承。
然而,一般情況下要實(shí)現(xiàn)其,必須要實(shí)現(xiàn)分布式計(jì)算,分布式計(jì)算的方法也是多樣的,首先的包拯控制一個(gè)程序的方式是在某個(gè)系統(tǒng)上,也是可以同意用戶(hù)提交一定的程序工作,進(jìn)而通過(guò)分布式的計(jì)算研究更好的實(shí)現(xiàn)這個(gè)程序在本地服務(wù)器及遠(yuǎn)程服務(wù)器上的運(yùn)行。
工廠設(shè)計(jì)模式是屬于類(lèi)的創(chuàng)建模式,是多角度多層次多范圍的。在不同的服務(wù)器或者同意服務(wù)器的JavaRMI中也會(huì)具有同樣的效果,其中工廠設(shè)計(jì)模式一定程度上可以決定將哪些類(lèi)實(shí)例化進(jìn)行操作。工廠設(shè)計(jì)從設(shè)計(jì)模型和方式上來(lái)說(shuō),是有簡(jiǎn)單模式的,而這種簡(jiǎn)單模式并不屬于23中GOF設(shè)計(jì)模式中的一種,可以理解是不同種類(lèi)的工廠設(shè)計(jì)模式的同一種實(shí)現(xiàn)。通過(guò)研究我們也可以發(fā)現(xiàn),簡(jiǎn)單工廠設(shè)計(jì)模式中各種角色和職責(zé)方面等都是相對(duì)固定和統(tǒng)一的。當(dāng)然也有抽象從長(zhǎng)設(shè)計(jì)模式,并不只有單一的簡(jiǎn)單工廠模式,我們分析問(wèn)題研究問(wèn)題也是多角度的去考慮的。
當(dāng)然,我們也可以插入部分例子來(lái)研究,通常示例對(duì)于研究某一個(gè)問(wèn)題的某些共性方面有著直觀的作用:
通過(guò)以上示例也可以相對(duì)直觀的看到工廠設(shè)計(jì)模式在生活中的應(yīng)用,范圍也是相對(duì)很廣泛的。JavaRMI的應(yīng)用也是在工廠設(shè)計(jì)模式中發(fā)揮著至關(guān)重要的作用的。
設(shè)計(jì)模式也是人們熟知的可以反復(fù)利用的方式。代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)呢也是容易被人理解的,至少代碼是有效的,可靠的。一定程度上也對(duì)代碼的規(guī)范起到了積極的作用。不管是在面向的對(duì)象上還是在借口方面,還是系統(tǒng)的研究簡(jiǎn)單工廠設(shè)計(jì)模式和抽象工廠設(shè)計(jì)模式中。
由于java本地網(wǎng)絡(luò)服務(wù)的簡(jiǎn)單操作和實(shí)用性,以及在實(shí)際現(xiàn)代生活中JavaRMI的應(yīng)用更加突出了分層的優(yōu)越性,在研究工廠設(shè)計(jì)中不管是模式還是方法都提供了一定的優(yōu)勢(shì)和保障,然而這些各方面體現(xiàn)出來(lái)的優(yōu)勢(shì),都會(huì)在跨平臺(tái)或者多服務(wù)器中所實(shí)現(xiàn)。在工廠模式中Java實(shí)現(xiàn)了它該有的價(jià)值以及它的便利性,在工廠設(shè)計(jì)中將會(huì)得到更大程度的發(fā)展。
[1]曲朝陽(yáng),楊明杰,曹杰.Java程序設(shè)計(jì)[J].北京交通大學(xué)出版社,2008(5)
[2]葛建芳,凌永豐.利用JAVA RMI實(shí)現(xiàn)分布式應(yīng)用系統(tǒng)[J].南通工學(xué)院學(xué)報(bào)(自然科學(xué)版),VOL1.No.3:39—40.