

[摘 要] 互聯(lián)網(wǎng)的飛速發(fā)展,不僅給人們的生活習(xí)慣帶來(lái)了很大的變化,而且給技術(shù)也帶來(lái)了很大的變化,使計(jì)算機(jī)信息技術(shù)更新?lián)Q代的周期大大縮短。特別是互聯(lián)網(wǎng)的高速發(fā)展,面向過(guò)程的開(kāi)發(fā)模式逐漸滿足不了復(fù)雜的互聯(lián)網(wǎng)應(yīng)用,在這樣的情況下,面向?qū)ο箝_(kāi)發(fā)思想逐步發(fā)展起來(lái),將對(duì)面向?qū)ο笤诰W(wǎng)站開(kāi)發(fā)中的應(yīng)用進(jìn)行分析。
[關(guān) 鍵 詞] 面向?qū)ο?;互?lián)網(wǎng);網(wǎng)站開(kāi)發(fā)
[中圖分類號(hào)] G712 [文獻(xiàn)標(biāo)志碼] A [文章編號(hào)] 2096-0603(2017)19-0134-02
一、面向?qū)ο?/p>
在早期的程序設(shè)計(jì)中,由于受到網(wǎng)絡(luò)、硬件、業(yè)務(wù)等條件的限制,面向過(guò)程設(shè)計(jì)思想完全能滿足開(kāi)發(fā)的需求,但是隨著業(yè)務(wù)越來(lái)越繁瑣、需求越來(lái)越復(fù)雜,面向過(guò)程設(shè)計(jì)語(yǔ)言已經(jīng)不能滿足需求。面向?qū)ο蟮拈_(kāi)發(fā)方法是一種全新的開(kāi)發(fā)思路,其主要是將所研究的問(wèn)題從空間上進(jìn)行分割,從而實(shí)現(xiàn)了客觀世界相互聯(lián)系的對(duì)象,把研究問(wèn)題轉(zhuǎn)化為具體的空間問(wèn)題模型,從而根據(jù)研究對(duì)象的屬性和實(shí)際功能開(kāi)發(fā)出一套研究工具,在一定程度上提供了系統(tǒng)的穩(wěn)定性、可擴(kuò)展性、多平臺(tái)性和系統(tǒng)兼容性,屬于軟件工程的主要開(kāi)發(fā)工具。
在面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中,具體包含了系統(tǒng)分析、系統(tǒng)設(shè)計(jì)和系統(tǒng)實(shí)現(xiàn)三個(gè)環(huán)節(jié),其中基礎(chǔ)性的亮點(diǎn)就是對(duì)象的操作。它包含了數(shù)據(jù)和操作,將數(shù)據(jù)和使用功能緊密結(jié)合在一起,使系統(tǒng)具有良好的穩(wěn)定性、多重使用性和可維護(hù)性能等。在系統(tǒng)的分析階段將對(duì)象之間的相互關(guān)系進(jìn)行梳理,為系統(tǒng)的設(shè)計(jì)提供依據(jù),同時(shí)也彌補(bǔ)了系統(tǒng)各個(gè)階段的語(yǔ)義斷層問(wèn)題,使系統(tǒng)分析和實(shí)現(xiàn)在一致的信息模型中進(jìn)行操作,操作起來(lái)沒(méi)有明顯的界面,從而搭建渾然一體的系統(tǒng)環(huán)境,它具有下述鮮明性的特點(diǎn):(1)對(duì)研究的問(wèn)題進(jìn)行綜合描述,確定非格式化樣式的求解綜合策略。(2)對(duì)空間問(wèn)題中的對(duì)象及其相互之間邏輯關(guān)系進(jìn)行識(shí)別,使策略形式化。(3)具體針對(duì)對(duì)象屬性和方法來(lái)設(shè)計(jì),從而在細(xì)節(jié)處實(shí)現(xiàn)操作。
二、面向?qū)ο蟪绦蛟O(shè)計(jì)
在過(guò)去的二十幾年間■編程語(yǔ)言在眾多面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中脫穎而出其跨平臺(tái)特性功不可沒(méi)。而跨平臺(tái)特性的基礎(chǔ)則是字節(jié)碼技術(shù)和■虛擬機(jī)技術(shù),其中■虛擬機(jī)解除了■程序與底層硬件、操作系統(tǒng)間的耦合關(guān)系,為■編程語(yǔ)言的“一次編譯到處運(yùn)行”提供了運(yùn)行的環(huán)境基礎(chǔ)。
■虛擬機(jī)是一個(gè)規(guī)范定義的抽象的計(jì)算環(huán)境,每個(gè)■程序都運(yùn)行于某個(gè)具體的■虛擬機(jī)實(shí)現(xiàn)的實(shí)例?!鎏摂M機(jī)有多種方式,既可以運(yùn)行在操作系統(tǒng)上的軟件也可以是軟硬件的組合。■虛擬機(jī)內(nèi)包含兩種運(yùn)行機(jī)制,一是類裝載子系統(tǒng)它負(fù)責(zé)將類加載到虛擬機(jī)當(dāng)中,另一個(gè)是運(yùn)行引擎它負(fù)責(zé)執(zhí)行已裝載的類中的指令?!鎏摂M機(jī)通常由五個(gè)組成部分組成,它們是方法區(qū)、堆、■棧、程序計(jì)數(shù)器、本地方法棧。
面向?qū)ο蟮娜筇匦苑謩e是:封裝、繼承、多態(tài)。多態(tài)是面向?qū)ο笾凶顬橹匾奶匦?。面向?qū)ο笤硪詫?duì)象為基礎(chǔ)將屬性和操作封裝在一起并概括出統(tǒng)一的新數(shù)據(jù)類型——類。面向?qū)ο笙鄬?duì)面向過(guò)程從更接近人類思維方式的角度通過(guò)模擬客觀世界間實(shí)物相互作用的方式,以其封裝性、繼承性、多態(tài)性三大特性達(dá)到簡(jiǎn)化問(wèn)題,提高代碼重用性,降低維護(hù)成本的目標(biāo)。面向?qū)ο蟮拈_(kāi)發(fā)方法是一種全新的開(kāi)發(fā)思路,其主要是將所研究的問(wèn)題從空間上進(jìn)行分割,從而實(shí)現(xiàn)了客觀世界相互聯(lián)系的對(duì)象,把研究問(wèn)題轉(zhuǎn)化為具體的空間問(wèn)題模型,從而根據(jù)研究對(duì)象的屬性和實(shí)際功能開(kāi)發(fā)出一套研究工具,在一定程度上提供了系統(tǒng)的穩(wěn)定性、可擴(kuò)展性、多平臺(tái)性和系統(tǒng)兼容性,屬于軟件工程的主要開(kāi)發(fā)工具。
類是對(duì)一組對(duì)象公有的屬性和行為的抽象。為了能夠更清晰地處理問(wèn)題,抽象通常被分為多個(gè)層次。子類可以從父類處繼承父類的屬性和方法,屬性和方法可以分為靜態(tài)域、靜態(tài)方法和對(duì)象域、對(duì)象方法。靜態(tài)域和靜態(tài)方法展現(xiàn)了一種全局性,它是所有對(duì)象共享的資源。■程序編譯完成后會(huì)生成Class文件,這些Class文件在被虛擬機(jī)處理時(shí)首先需要經(jīng)過(guò)類加載機(jī)制。在類加載機(jī)制運(yùn)行過(guò)程中■虛擬機(jī)會(huì)解析Class文件內(nèi)部的屬性和方法信息以及繼承關(guān)系,此后■虛擬機(jī)將這些信息保存在類表中,而類表中的屬性和方法信息也會(huì)保存至屬性表和方法表中,至此類的加載便完成。主類加載結(jié)束之后■虛擬機(jī)會(huì)根據(jù)主類的需要去加載其他的類。
類的生命周期從類加載開(kāi)始一直持續(xù)到類從虛擬機(jī)中被卸載為止。當(dāng)類被加載后還需要經(jīng)過(guò)鏈接、初始化等若干步驟。類的初始化由■虛擬機(jī)完成,初始化結(jié)束以后程序就可以對(duì)該類進(jìn)行實(shí)例化獲得對(duì)象,而當(dāng)程序不再需要引用該類時(shí),虛擬機(jī)就可以卸載這個(gè)類。這里需要注意一點(diǎn),只有使用用戶定義的類裝載器裝載的類才可以被卸載。
三、面向?qū)ο笤诰W(wǎng)站開(kāi)發(fā)中的應(yīng)用
目前,在網(wǎng)站開(kāi)發(fā)中,采用的都是B\S結(jié)構(gòu),即瀏覽器(Browser)\服務(wù)器(Server)結(jié)構(gòu)。在一些開(kāi)發(fā)人員看來(lái),B\S結(jié)構(gòu)是C\S結(jié)構(gòu)的升級(jí)或者改進(jìn)。相比于C\S結(jié)構(gòu),B\S結(jié)構(gòu)的用戶界面是通過(guò)瀏覽器來(lái)實(shí)現(xiàn)的,并且瀏覽器界面只承擔(dān)少量邏輯運(yùn)算,大部分指令邏輯交由服務(wù)器完成。在這種模式下,減少了瀏覽器界面的運(yùn)行負(fù)荷,有利于系統(tǒng)維護(hù)和升級(jí)改造。開(kāi)發(fā)人員在局域網(wǎng)上開(kāi)發(fā)出基于B\S結(jié)構(gòu)的應(yīng)用軟件,通過(guò)Internet連接到數(shù)據(jù)庫(kù)。另外,利用Internet獨(dú)特屬性,不同地點(diǎn)的不同人員能夠在不同時(shí)間通過(guò)Internet接入系統(tǒng),對(duì)系統(tǒng)進(jìn)行訪問(wèn)。 ■語(yǔ)言的出現(xiàn)為跨平臺(tái)系統(tǒng)建設(shè)提供了捷徑。所以■語(yǔ)言+B\S架構(gòu)模式已經(jīng)成為跨平臺(tái)系統(tǒng)開(kāi)發(fā)的模板,易維護(hù)、易升級(jí)。社會(huì)的迅猛發(fā)展,使客戶對(duì)應(yīng)用系統(tǒng)的功能需求也不斷變化、系統(tǒng)更新?lián)Q代的速度也在不斷加快?;贐\S結(jié)構(gòu)建設(shè)的系統(tǒng)能夠很好地應(yīng)對(duì)客戶需求。在基于B\S建設(shè)的系統(tǒng)中,所有的客戶端均是瀏覽器界面存在。而瀏覽器界面是由各個(gè)服務(wù)商提供,對(duì)于系統(tǒng)來(lái)說(shuō),客戶端界面是不需要自身去維護(hù),所有的維護(hù)和升級(jí)改造只需在服務(wù)器上進(jìn)行即可,極大地減少了系統(tǒng)維護(hù)人員的工作時(shí)間和工作量。所以,在信息化發(fā)展的進(jìn)程中,應(yīng)用系統(tǒng)的客戶端將會(huì)變得越來(lái)越簡(jiǎn)單,服務(wù)器的功能將會(huì)越來(lái)越強(qiáng)大。B/S架構(gòu)在系統(tǒng)開(kāi)發(fā)中應(yīng)用很廣泛,其主要包括瀏覽器和服務(wù)器兩部分,在此架構(gòu)下,系統(tǒng)的部署、維護(hù)、更新等都方便了很多,且系統(tǒng)的維護(hù)與管理也更方便。此種框架和C/S架構(gòu)有密切的關(guān)系,是在其基礎(chǔ)上改進(jìn)得到的。在此架構(gòu)系統(tǒng)中,客戶端只需要利用瀏覽器就可得到服務(wù)器端的功能服務(wù),客戶端并不需要安裝軟件,系統(tǒng)可以方便地接入到互聯(lián)網(wǎng)中。
J2EE技術(shù)是一種標(biāo)準(zhǔn)、一種平臺(tái),并不是指某種特定的技術(shù)。在J2EE這個(gè)平臺(tái)中,可以融合多種技術(shù),例如,程序設(shè)計(jì)語(yǔ)言可以使用JAVA,數(shù)據(jù)庫(kù)層的ORM使用MYBAITS,容器使用SPRING或者JBOSS。在J2EE平臺(tái)上,多種技術(shù)的融合,可以提高應(yīng)用系統(tǒng)的性能和執(zhí)行的效率,從而滿足更大規(guī)模的并發(fā)和需求。J2EE平臺(tái)在開(kāi)發(fā)過(guò)程中,采用的是組件式的開(kāi)發(fā)思想,組件分為具體的基礎(chǔ)組件和業(yè)務(wù)組件,在基礎(chǔ)組件方面包括日志組件、緩存組件、消息組件等。在業(yè)務(wù)組件方面,根據(jù)不相同的業(yè)務(wù)功能,設(shè)計(jì)和應(yīng)用不相同的組件。這些組件相互之間是可以復(fù)用的,組件也是即插即用的思想,對(duì)整個(gè)系統(tǒng)的侵入性并不大。在J2EE平臺(tái)中,核心還是■程序設(shè)計(jì)語(yǔ)言,通過(guò)drwVhEtcGe5wVdozdQxs5QdyNTr3UF4nzhYXzbdRMFk=■設(shè)計(jì)語(yǔ)言把一些其他的工具融合到這個(gè)平臺(tái)中。這J2EE平臺(tái)中,可以通過(guò)各類技術(shù)來(lái)解決不同環(huán)境存在的問(wèn)題,進(jìn)而解決系統(tǒng)在運(yùn)行過(guò)程中遇到的瓶頸,基于J2EE的B/S具體的架構(gòu)如下圖所示:
J2EE平臺(tái),是SUN公司設(shè)計(jì)和開(kāi)發(fā)的。設(shè)計(jì)的初衷是解決C/S結(jié)構(gòu)在應(yīng)用程序開(kāi)發(fā)過(guò)程中存在的問(wèn)題。在傳統(tǒng)的C/S結(jié)構(gòu)中,由于原產(chǎn)地證審批端要安裝具體的應(yīng)用程序,當(dāng)原產(chǎn)地證審批端系統(tǒng)越來(lái)越大,或者原產(chǎn)地證審批端要進(jìn)行升級(jí)的時(shí)候,將會(huì)給原產(chǎn)地證審批帶來(lái)很多煩惱。這樣并不利于大型項(xiàng)目的運(yùn)行。所以,SUN公司為了解決這一問(wèn)題,設(shè)計(jì)了J2EE平臺(tái),通過(guò)服務(wù)器平臺(tái)來(lái)進(jìn)行所有的運(yùn)算和邏輯處理,原產(chǎn)地證審批端不需要進(jìn)行任何處理,只需進(jìn)行具體的業(yè)務(wù)操作即可。對(duì)于一些相對(duì)通用的或者相對(duì)繁瑣的服務(wù)端任務(wù),相關(guān)使用放在經(jīng)過(guò)J2EE允許后,可交由中間供應(yīng)商去完成服務(wù)。這樣就使J2EE能夠更加專注地致力于提高開(kāi)發(fā)速率上。有一些復(fù)雜的中間件服務(wù)會(huì)通過(guò)高級(jí)中間件供應(yīng)商提供,例如,狀態(tài)管理服務(wù),開(kāi)發(fā)人者不用擔(dān)心管理狀態(tài),只管寫(xiě)代碼,提高代碼的完成速率。
四、結(jié)語(yǔ)
面向?qū)ο笤O(shè)計(jì)是目前被廣泛使用的程序設(shè)計(jì)語(yǔ)言,其具有的對(duì)象、繼承和多態(tài)的特性,能夠使應(yīng)用系統(tǒng)能夠更好地維護(hù)和擴(kuò)展,隨著網(wǎng)站系統(tǒng)越來(lái)越復(fù)雜,組件化的應(yīng)用系統(tǒng)是發(fā)展的趨勢(shì),面向?qū)ο笤O(shè)計(jì)會(huì)被越來(lái)越廣泛地使用。
參考文獻(xiàn)
[1]甘玲.基于項(xiàng)目開(kāi)發(fā)的面向?qū)ο蠓椒ㄕn程教學(xué)新模式[J].計(jì)算機(jī)教育,2014(4).
[2]鄒珊.面向?qū)ο蠓椒ㄔ诮Y(jié)構(gòu)有限元分析軟件中的應(yīng)用[J].天津城市建設(shè)學(xué)院學(xué)報(bào),2012(1).
[3]曾志明.網(wǎng)站開(kāi)發(fā)技術(shù)的比較研究[J].電腦知識(shí)與技術(shù),2010(2Z).
[4]袁志永.計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)實(shí)踐教學(xué)研究[J].軟件,2014(1).
[5]王崇霞,張劍妹,趙曉麗,等.基于云計(jì)算的虛擬項(xiàng)目實(shí)驗(yàn)教學(xué)模式研究[J].計(jì)算機(jī)教育,2016(2).
[6]柳義筠,鐘萍.ASP、ASP.NET及JSP三種Web開(kāi)發(fā)技術(shù)比較研究[J].電腦編程技巧與維護(hù),2009(22).