999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

OOP在教育網(wǎng)站開發(fā)過程中的應(yīng)用探究

2017-09-14 07:58:01李長(zhǎng)齊王菡許海蘭
商情 2017年29期
關(guān)鍵詞:數(shù)據(jù)庫設(shè)計(jì)

李長(zhǎng)齊+王菡+許海蘭

【摘要】在網(wǎng)站的設(shè)計(jì)與開發(fā)的過程中,我們需要編寫大量的代碼,并且在代碼調(diào)試、修改過程中,經(jīng)常需要對(duì)源代碼進(jìn)行編輯,整個(gè)過程相對(duì)復(fù)雜。本文將面向?qū)ο螅∣OP)的概念引入到網(wǎng)站設(shè)計(jì)與開發(fā)的過程中,使整個(gè)網(wǎng)站程序更加結(jié)構(gòu)化、更易于編寫、更易于重用、維護(hù)和擴(kuò)充。本文以php語言中的OOP為例,重點(diǎn)探討了OOP在網(wǎng)站開發(fā)過程中的應(yīng)用。

一、緒論

在信息技術(shù)飛速發(fā)展的今天,互聯(lián)網(wǎng)已經(jīng)成為人們生活的重要部分,逐步滲透到工作學(xué)習(xí)等各個(gè)方面,成為現(xiàn)代人交互信息的重要渠道。人們想要通過一個(gè)平臺(tái)來發(fā)布自己想要公開的資訊或者獲取自己需要的資訊,提供相關(guān)的網(wǎng)絡(luò)服務(wù)或者享受網(wǎng)絡(luò)服務(wù)。因此,網(wǎng)站作為為瀏覽信息的載體以及網(wǎng)絡(luò)活動(dòng)的重要節(jié)點(diǎn)應(yīng)運(yùn)而生。一所學(xué)校建立一個(gè)門戶網(wǎng)站,有利于該學(xué)校實(shí)現(xiàn)校園新聞的動(dòng)態(tài)發(fā)布、校園教學(xué)資源的共享、校園風(fēng)景的展示以及信息的反饋,還有利于該高校這個(gè)專業(yè)建設(shè)成果的宣傳和推廣,專業(yè)建設(shè)工作的展示,提供個(gè)性化學(xué)習(xí)的平臺(tái),給學(xué)校教學(xué)研究帶來了一片新天地,也有利于幫助學(xué)校形成自己的特色與品牌。

一些發(fā)達(dá)國(guó)家非常重視教育網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn),他們認(rèn)為,學(xué)校打造網(wǎng)站是學(xué)校的軟實(shí)力表現(xiàn),一個(gè)高校有越多教育網(wǎng)站,那它的軟實(shí)力就越強(qiáng)。瀏覽國(guó)外的一些教育類的網(wǎng)站,布局新穎、有創(chuàng)意、特色鮮明、文化氣息濃郁、清晰、美感、有活力。隨著我國(guó)教育的發(fā)展,國(guó)內(nèi)也越來越重視教育網(wǎng)站的建設(shè),逐步呈現(xiàn)出多層次,多元化的趨勢(shì),對(duì)教育網(wǎng)站的投資力度也正在逐步加大。

設(shè)計(jì)與實(shí)現(xiàn)一個(gè)網(wǎng)站,包括前期需求分析確定風(fēng)格和內(nèi)容,中期靜態(tài)網(wǎng)站的設(shè)計(jì)以及代碼編寫搭建數(shù)據(jù)庫實(shí)現(xiàn)動(dòng)態(tài),后期的測(cè)試上線幾個(gè)部分。其中代碼的編寫是比較繁瑣,困難和重要的環(huán)節(jié)。對(duì)于瀏覽網(wǎng)站的用戶而言,看到的只是網(wǎng)站的頁面,他們不需要也看不到支撐整個(gè)網(wǎng)站運(yùn)行的程序代碼,但是代碼的編寫,在網(wǎng)站建設(shè)的過程中是必不可少的。一個(gè)設(shè)計(jì)得再漂亮的網(wǎng)頁,如果沒有程序代碼的支撐,那它只不過是繡花枕頭一個(gè),只能看,不能實(shí)現(xiàn)任何功能。

想要實(shí)現(xiàn)同一種功能,不同的程序員可能寫出不同的代碼,當(dāng)然,編寫的代碼一定是越簡(jiǎn)潔、越流暢越好。在信息技術(shù)飛速發(fā)展的今天,隨著計(jì)算機(jī)應(yīng)用的不斷擴(kuò)大,對(duì)計(jì)算機(jī)技術(shù)的要求也越來越高,結(jié)構(gòu)化程序設(shè)計(jì)語言已無法滿足用戶需求的變化。OOP的程序設(shè)計(jì)方法,具有數(shù)據(jù)封裝、繼承和多態(tài)的特點(diǎn),使程序更加結(jié)構(gòu)化、更易于編寫、更易于重用、維護(hù)和擴(kuò)充,能夠有效提高代碼的質(zhì)量。與國(guó)外相比,我國(guó)在OOP技術(shù)方面的研究雖然起步較晚,但也取得了一定成果。深圳大學(xué)譚也平博士曾研究過OOP技術(shù)在結(jié)構(gòu)電算中的應(yīng)用。今天,利用OOP進(jìn)行編程的方法正在成為國(guó)內(nèi)外程序設(shè)計(jì)的主流,其思想已經(jīng)涉及到軟件開發(fā)的各個(gè)方面,例如面向?qū)ο蟮姆治觥⒚嫦驅(qū)ο蟮脑O(shè)計(jì)等。

二、OOP在教育網(wǎng)站開發(fā)過程中應(yīng)用的優(yōu)勢(shì)

OOP(Object Oriented Programming)面向?qū)ο蟮某绦蛟O(shè)計(jì),是一種以對(duì)象為基礎(chǔ),以事件或者消息來驅(qū)動(dòng)對(duì)象來執(zhí)行處理的程序設(shè)計(jì)技術(shù)。這種基于對(duì)象的編程方式更符合人的思維模式,編寫的程序也會(huì)更加健壯和強(qiáng)大。使人們可以編寫出易于維護(hù),易于擴(kuò)展和易于重用的程序代碼。

1、對(duì)象(Object)

在現(xiàn)實(shí)世界中,對(duì)象指某個(gè)實(shí)際存在的事物。它可以是有形的(比如一臺(tái)電腦)也可以是無形的(比如一個(gè)目標(biāo))。它表達(dá)了客觀世界真實(shí)的實(shí)體或抽象的東西。

在計(jì)算機(jī)編程領(lǐng)域中,對(duì)象是一個(gè)封閉體,它是由一組數(shù)據(jù)和施加在這組數(shù)據(jù)中的一系列的操作構(gòu)成的整體。使用new來創(chuàng)建對(duì)象。

2、類(class)

類是一組具有相同的數(shù)據(jù)和相同結(jié)構(gòu)的對(duì)象集合,是所有相似對(duì)象的狀態(tài)變量和行為構(gòu)成的模板,面向?qū)ο缶幊讨校嬲瓿筛黜?xiàng)工作的是類,用class來定義類。在現(xiàn)實(shí)世界中,我們時(shí)刻都在和具體的實(shí)物打交道,例如汽車、卡車、轎車等,它們往往涉及可以承載的人數(shù)、速度、發(fā)動(dòng)機(jī)功率、耗油量等等幾個(gè)方面。這些方面共同構(gòu)成一個(gè)概念——機(jī)動(dòng)車。那么一輛小汽車就是機(jī)動(dòng)車類的一個(gè)實(shí)例了,也就是一個(gè)具體的對(duì)象。

3、OOP的特征

(1)封裝

封裝實(shí)質(zhì)上就是信息隱藏,把編程的過程和數(shù)據(jù)包圍起來,隱藏實(shí)現(xiàn)細(xì)節(jié), 將屬性私有化,對(duì)數(shù)據(jù)的訪問只能通過已定義的界面。通過改變可見性來保護(hù)封裝數(shù)據(jù)。PHP的三種可見性:private(私有)、protected(保護(hù))、public(公共)。通常用private來封裝一個(gè)程序元素,它只能在類內(nèi)被訪問。

(2)繼承

一個(gè)新類從另一個(gè)類中派生,并且擁有這個(gè)類的所有屬性和方法。新派生的類還可以定義新的屬性和方法。在不改動(dòng)的基礎(chǔ)上對(duì)原程序進(jìn)行擴(kuò)充,使得原屬性和方法得以保存,而方法也得以擴(kuò)展。這有利于減少重復(fù)編碼,提高編程的開發(fā)效率。在面向?qū)ο蟮木幊讨斜焕^承的類叫基類或父類,繼承類叫派生類或子類。繼承使用關(guān)鍵字extend。

(3)多態(tài)

多態(tài),即多種形態(tài),允許不同類的對(duì)象對(duì)同一消息作出響應(yīng)。在面向?qū)ο缶幊讨卸鄳B(tài)的實(shí)質(zhì)是,調(diào)用有相同接口的對(duì)象來完成不同的工作。

(4)抽象

抽象(abstraction)是指一個(gè)對(duì)象的基本特征,使它與其它的對(duì)象區(qū)分開來,抽象是復(fù)雜性的主要工具。如果一個(gè)類是抽象的,那它不能被實(shí)例化成對(duì)象,只能被具體的子類繼承。如果一個(gè)類至少有一個(gè)抽象方法,那它一定是一個(gè)抽象類。

4、OOP技術(shù)的優(yōu)勢(shì)分析

在OOP出現(xiàn)之前,編程人員用面向過程的方法開發(fā)程序。這種面向過程的編程方法以過程為基礎(chǔ),把密切相關(guān)且相互依賴的數(shù)據(jù)的操作相互分離,這使得一些復(fù)雜龐大的程序難于編寫,而且難于調(diào)用和修改。在多個(gè)程序員合作的情況下,很難讀懂對(duì)方的代碼,也難以重用和維護(hù)。

面向?qū)ο笫且怨δ軄韯澐謫栴}的,面向過程是以步驟來劃分問題的。面向?qū)ο笤诠δ苌媳WC了設(shè)計(jì)的可擴(kuò)展性。相對(duì)于面向過程,面向?qū)ο蟮膬?yōu)勢(shì)可以歸納為:endprint

(1)容易維護(hù)

面向?qū)ο笏枷朐O(shè)計(jì)的程序,可讀性比較高,因其具有繼承性,要適應(yīng)隨時(shí)改變的需求,修改的也只是局部的模塊,所以維護(hù)起來成本較低也比較方便。

(2)代碼質(zhì)量高

應(yīng)用面向?qū)ο笏枷朐O(shè)計(jì)的程序,重用性比較高,從而有效提高網(wǎng)頁制作的進(jìn)度、減少網(wǎng)絡(luò)流量,提高瀏覽速度等。

(3)效率高

在網(wǎng)站建設(shè)時(shí),根據(jù)設(shè)計(jì)的需要對(duì)程序進(jìn)行抽象,產(chǎn)生類。用人容易理解的方式對(duì)復(fù)雜系統(tǒng)進(jìn)行分析、設(shè)計(jì)與編程,對(duì)網(wǎng)頁制作的研究有著重要的現(xiàn)實(shí)意義。

(4)容易擴(kuò)展

由于面向?qū)ο蟪橄蟆⒎庋b、繼承、多態(tài)的特征,設(shè)計(jì)的程序具有高內(nèi)聚,低耦合的性能,使得程序設(shè)計(jì)更靈活、更易于擴(kuò)展。

三、OOP在網(wǎng)站設(shè)計(jì)中的應(yīng)用

在將OOP概念應(yīng)用到網(wǎng)站設(shè)計(jì)的過程中我們需要一個(gè)具體的網(wǎng)站設(shè)計(jì)作為案例,本文以我校的生物科學(xué)網(wǎng)站設(shè)計(jì)為例,為用戶提供網(wǎng)站內(nèi)容管理和信息發(fā)布。網(wǎng)站要求實(shí)現(xiàn)后臺(tái)管理功能和信息發(fā)布功能,通過后臺(tái)內(nèi)容管理系統(tǒng)實(shí)現(xiàn)各種資源的管理使用,包括文字、圖像、視頻等,最終通過前臺(tái)將信息呈現(xiàn)給用戶。本網(wǎng)站主要面向三個(gè)不同層次的用戶,管理員、教師和學(xué)生,層次不同,權(quán)限不同、需求也不同。管理員是整個(gè)網(wǎng)站具有最高權(quán)限的角色,能進(jìn)行用戶管理、數(shù)據(jù)庫管理、模塊管理等。教師能夠進(jìn)行模塊管理,如公告的發(fā)布、資料的上傳和刪除等。學(xué)生是權(quán)限最低的用戶,是網(wǎng)站發(fā)布信息的瀏覽者,能夠查閱、檢索和下載資源。

1、網(wǎng)站需求分析

界面風(fēng)格相對(duì)溫和,能夠有明顯的生物學(xué)特色,界面清晰、美觀,能夠讓用戶快速方便的找到相應(yīng)的功能,需要圖片新聞、文章發(fā)表、專業(yè)簡(jiǎn)介、師資隊(duì)伍、超鏈接圖標(biāo)等幾個(gè)模塊,網(wǎng)站的整體色調(diào)是淡藍(lán)色,上下包圍的板式效果。

2、網(wǎng)站總體設(shè)計(jì)

將網(wǎng)站的總體架構(gòu)設(shè)計(jì)成三層結(jié)構(gòu),分別是用戶層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,如圖3-1所示:

圖3-1 生物科學(xué)網(wǎng)站分層結(jié)構(gòu)圖

3、網(wǎng)站的功能模塊設(shè)計(jì)

該生物科學(xué)網(wǎng)站分為前臺(tái)用戶和后臺(tái)管理兩大系統(tǒng),前臺(tái)包括圖片新聞、專業(yè)概述、建設(shè)目標(biāo)、師資隊(duì)伍、通知公告、人才培養(yǎng)、教學(xué)條件、成果展示、資料下載、聯(lián)系我們幾個(gè)模塊,其中圖片新聞、人才培養(yǎng)、通知公告和成果展示為動(dòng)態(tài),其余均為靜態(tài)。后臺(tái)管理部分包括用戶管理、新聞管理、文章管理、教學(xué)資料管理等幾個(gè)模塊,網(wǎng)站模塊結(jié)構(gòu)如圖3-2所示。

圖3-2 網(wǎng)站模塊結(jié)構(gòu)圖

4、數(shù)據(jù)庫設(shè)計(jì)

網(wǎng)站的后臺(tái)支持是以網(wǎng)站的數(shù)據(jù)庫為基礎(chǔ)的,當(dāng)一個(gè)網(wǎng)站的系統(tǒng)設(shè)計(jì)部分完成之后,就需要進(jìn)一步設(shè)計(jì)具體數(shù)據(jù)結(jié)構(gòu)。網(wǎng)站的后臺(tái)服務(wù)程序能夠在數(shù)據(jù)庫中根據(jù)訪問者提供的查詢條件搜索數(shù)據(jù),并將搜索結(jié)果或數(shù)據(jù)經(jīng)過整理返回訪問者。

根據(jù)網(wǎng)站的設(shè)計(jì)規(guī)劃出管理員、教師和學(xué)生三個(gè)實(shí)體,通過分析它們之間的關(guān)系,為后面分析數(shù)據(jù)的流動(dòng)和邏輯結(jié)構(gòu)打下基礎(chǔ)。

圖3-5 實(shí)體E-R圖

四、OOP在網(wǎng)站實(shí)現(xiàn)中的應(yīng)用

1、環(huán)境搭建

在Windows下搭建PHP開發(fā)環(huán)境,首先安裝和配置Apache服務(wù)器,Apache服務(wù)器順利啟動(dòng)后,接下來安裝和配置PHP,PHP配置完成后,重新啟動(dòng)Apache服務(wù)器,最后安裝MySQL服務(wù)器。

2、數(shù)據(jù)庫實(shí)現(xiàn)

成功登錄MySQL數(shù)據(jù)庫后,即可在命令提示符窗口對(duì)MySQL數(shù)據(jù)庫進(jìn)行管理,執(zhí)行創(chuàng)建、查看、更改和刪除MySQL數(shù)據(jù)庫和數(shù)據(jù)表等操作。

3、連接數(shù)據(jù)庫

由于大部分模塊都需要使用數(shù)據(jù)庫,如果每個(gè)模塊都編寫相同的數(shù)據(jù)庫連接代碼,不僅會(huì)加大工作量而且會(huì)顯得十分繁瑣,所以應(yīng)用面向?qū)ο蟮乃枷耄瑢?shù)據(jù)庫連接代碼作為一個(gè)對(duì)象單獨(dú)寫入一個(gè)PHP文件DB.class.php中,在需要與數(shù)據(jù)庫連接的頁面中,使用包含語句調(diào)用該文件即可,無需重復(fù)編寫相同的代碼,減少代碼冗余。連接數(shù)據(jù)庫的部分實(shí)現(xiàn)代碼如下:

Conn.php

<?php

//數(shù)據(jù)庫連接類

class DB {

//獲取對(duì)象句柄

static public function getDB() {

$_mysqli = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME);

if (mysqli_connect_errno()) {

echo '數(shù)據(jù)庫連接錯(cuò)誤!錯(cuò)誤代碼:'.mysqli_connect_error();

exit();

}

$_mysqli->set_charset('utf8');

return $_mysqli;

}

//清理

static public function unDB(&$_result, &$_db) {

if (is_object($_result)) {

$_result->free();

$_result = null;

}

if (is_object($_db)) {

$_db->close();

$_db = null;

}

}

}

?>

調(diào)用數(shù)據(jù)庫文件的主要代碼如下:

<?php include 'DB.class.php'; ?>

4、基于OOP的思想對(duì)網(wǎng)站的目錄和文件進(jìn)行實(shí)現(xiàn)

應(yīng)用面向?qū)ο蟮乃枷脒M(jìn)行編程,生成的主要文件圖4-1所示。endprint

圖4-1 主要文件關(guān)系圖

index.php存放在主業(yè)務(wù)邏輯層

template.inc.php模板初始文件

templates 文件夾用來存放所有的模板文件

templates_c存放模板編譯文件

cache存放所有的緩存文件

includes 用來存放所有的類文件和包含文件

config存放系統(tǒng)變量配置文件和系統(tǒng)文件

language語言的文件夾

主要代碼的實(shí)現(xiàn)

(1)用戶登錄功能的實(shí)現(xiàn)

Login.php文件,存放在主業(yè)務(wù)邏輯層,主要用一些if語句來驗(yàn)證存儲(chǔ)在數(shù)據(jù)庫里的用戶信息,驗(yàn)證正確則登錄成功。

private function login() {

if (isset($_POST['send'])) {

if (Validate::checkLength($_POST['code'],4,'equals')) Tool::alertBack('警告:驗(yàn)證碼必須是四位!');

if (Validate::checkEquals(strtolower($_POST['code']),$_SESSION['code'])) Tool::alertBack('警告:驗(yàn)證碼不正確!');

if (Validate::checkNull($_POST['admin_user'])) Tool::alertBack('警告:用戶名不得為空!');

if (Validate::checkLength($_POST['admin_user'],2,'min')) Tool::alertBack('警告:用戶名不得小于兩位!');

if (Validate::checkLength($_POST['admin_user'],20,'max')) Tool::alertBack('警告:用戶名不得大于20位!');

if (Validate::checkNull($_POST['admin_pass'])) Tool::alertBack('警告:密碼不得為空!');

if (Validate::checkLength($_POST['admin_pass'],6,'min')) Tool::alertBack('警告:密碼不得小于六位!');

$this->_model->admin_user = $_POST['admin_user'];

$this->_model->admin_pass = sha1($_POST['admin_pass']);

$_login = $this->_model->getLoginManage();

if ($_login) {

$_SESSION['admin']['admin_user'] = $_login->admin_user;

$_SESSION['admin']['level_name'] = $_login->level_name;

Tool::alertLocation(null, 'admin.php');

} else {

Tool::alertBack('警告:用戶名或密碼錯(cuò)誤!');}

}

}

(2)圖片新聞瀏覽功能的實(shí)現(xiàn)

Vew.php文件存放在主業(yè)務(wù)邏輯層下,通過SQL語句查詢存儲(chǔ)在數(shù)據(jù)庫的圖片新聞。

<?php

$sql="select biaoti,id,addtime from sw where leibie='教學(xué)新聞' order by id desc";

$query=mysql_query($sql);

$rowscount=mysql_num_rows($query);

if($rowscount>0)

{

for($i=0;$i<$rowscount;$i++)

{if($i==10)

{break ;}

}

?>

(3)文件上傳功能的實(shí)現(xiàn)

Upfile.php文件存放在主業(yè)務(wù)邏輯層下,用于上傳文件。

<?php

//上傳文件類

class FileUpload {

private $error; //錯(cuò)誤代碼

private $maxsize; //表單最大值

private $type; //類型

private $typeArr = array('image/jpeg','image/pjpeg','image/png','image/x-png','image/gif'); //類型合集

private $path; //目錄路徑

private $today; //今天目錄

private $name; //文件名

private $tmp; //臨時(shí)文件

private $linkpath; //鏈接路徑

private $linktotay; //今天目錄(相對(duì))

//構(gòu)造方法,初始化

public function __construct($_file,$_maxsize) {endprint

$this->error = $_FILES[$_file]['error'];

$this->maxsize = $_maxsize / 1024;

$this->type = $_FILES[$_file]['type'];

$this->path = ROOT_PATH.UPDIR;

$this->linktotay = date('Ymd').'/';

$this->today = $this->path.$this->linktotay;

$this->name = $_FILES[$_file]['name'];

$this->tmp = $_FILES[$_file]['tmp_name'];

$this->checkError();

$this->checkType();

$this->checkPath();

$this->moveUpload();

}

//返回路徑

public function getPath() {

$_path = $_SERVER["SCRIPT_NAME"];

$_dir = dirname(dirname($_path));

if ($_dir == '\\') $_dir = '/';

$this->linkpath = $_dir.$this->linkpath;

return $this->linkpath;

}

//移動(dòng)文件

private function moveUpload() {

if (is_uploaded_file($this->tmp)) {

if (!move_uploaded_file($this->tmp,$this->setNewName())) {

Tool::alertBack('警告:上傳失敗!');

}

} else {

Tool::alertBack('警告:臨時(shí)文件不存在!');

}

}

//設(shè)置新文件名

private function setNewName() {

$_nameArr = explode('.',$this->name);

$_postfix = $_nameArr[count($_nameArr)-1];

$_newname = date('YmdHis').mt_rand(100,1000).'.'.$_postfix;

$this->linkpath = UPDIR.$this->linktotay.$_newname;

return $this->today.$_newname;

}

//驗(yàn)證目錄

private function checkPath() {

if (!is_dir($this->path) || !is_writeable($this->path)) {

if (!mkdir($this->path)) {

Tool::alertBack('警告:主目錄創(chuàng)建失敗!');

}

}

if (!is_dir($this->today) || !is_writeable($this->today)) {

if (!mkdir($this->today)) {

Tool::alertBack('警告:子目錄創(chuàng)建失敗!');

}

}

}

//驗(yàn)證類型

private function checkType() {

if (!in_array($this->type,$this->typeArr)) {

Tool::alertBack('警告:不合法的上傳類型!');

}

}

//驗(yàn)證錯(cuò)誤

private function checkError() {

if (!empty($this->error)) {

switch ($this->error) {

case 1 :

Tool::alertBack('警告:上傳值超過了約定最大值!');

break;

case 2 :

Tool::alertBack('警告:上傳值超過了'.$this->maxsize.'KB!');

break;

case 3 :

Tool::alertBack('警告:只有部分文件被上傳!');

break;

case 4 :

Tool::alertBack('警告:沒有任何文件被上傳!');

break;

default:

Tool::alertBack('警告:未知錯(cuò)誤!');

}

}

}

}

?>

五、結(jié)論

OOP的概念逐步滲透到編程的過程當(dāng)中并漸漸取代面向過程的編程,是每個(gè)程序員在開發(fā)程序時(shí)都要深入考慮的概念,它能夠?qū)⒕W(wǎng)站中的文件和功能分離開,提高了代碼的重用性。本文通過針對(duì)基于OOP技術(shù)網(wǎng)站的設(shè)計(jì)與實(shí)現(xiàn)現(xiàn)狀進(jìn)行分析,主要介紹OOP的概念在網(wǎng)站開發(fā)過程中的優(yōu)勢(shì)、在網(wǎng)站OOP設(shè)計(jì)過程中的應(yīng)用和在網(wǎng)站開發(fā)過程中的優(yōu)勢(shì)。由于篇幅的限制本文在OOP在網(wǎng)站開發(fā)中的應(yīng)用只做了部分案例進(jìn)行探討。

參考文獻(xiàn):

[1]吳煒煜.面向?qū)ο蠓治鲈O(shè)計(jì)與編程OOA/OOD/OOP/AOP[M].北京:清華大學(xué)出版社,2015:50-43

[2]William Sanders.蘇金國(guó),王宇飛.Learning PHP設(shè)計(jì)模式[M].北京:中國(guó)電力出版社,2015:25-44

[3]耿秋義,張躍平.Java面向?qū)ο蟪绦蛟O(shè)計(jì).第二版[M].北 京:北京郵電大學(xué)出版社,2013:20-34

[4]孫紅亮.基于三層架構(gòu)的校園網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)[D].河北: 河北師范大學(xué),2013.

[5]王飛飛.MySQL數(shù)據(jù)庫應(yīng)用從入門到精通[M].北京:中國(guó)鐵道出版社,2015:126-130endprint

猜你喜歡
數(shù)據(jù)庫設(shè)計(jì)
何為設(shè)計(jì)的守護(hù)之道?
《豐收的喜悅展示設(shè)計(jì)》
流行色(2020年1期)2020-04-28 11:16:38
瞞天過海——仿生設(shè)計(jì)萌到家
設(shè)計(jì)秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
數(shù)據(jù)庫
有種設(shè)計(jì)叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
數(shù)據(jù)庫
主站蜘蛛池模板: 欧美区一区| 91香蕉国产亚洲一二三区 | 欧美成人综合视频| 亚洲国产成人无码AV在线影院L| 亚洲欧美综合另类图片小说区| 99成人在线观看| 欧美综合区自拍亚洲综合绿色 | 色综合成人| 欧美精品导航| 亚洲成人网在线播放| 久久精品免费国产大片| 国产男人天堂| 亚洲色图综合在线| 国产激爽大片高清在线观看| 91丨九色丨首页在线播放| 欧美区国产区| 六月婷婷激情综合| 三上悠亚在线精品二区| 狠狠色噜噜狠狠狠狠色综合久| 国产在线精品99一区不卡| 综合社区亚洲熟妇p| 国产99视频精品免费观看9e| 一本二本三本不卡无码| 欧美日韩亚洲综合在线观看| 超级碰免费视频91| 97人妻精品专区久久久久| 九九久久99精品| 欧美三級片黃色三級片黃色1| 热99精品视频| 99这里只有精品免费视频| 欧美国产日韩在线观看| 亚洲精品无码日韩国产不卡| 2021国产乱人伦在线播放| 2021国产精品自拍| 毛片视频网址| 国产精品午夜福利麻豆| 国产欧美中文字幕| 免费无遮挡AV| 国产成人调教在线视频| 91精品国产91久久久久久三级| 91九色视频网| 亚洲成在线观看| 在线观看欧美国产| 久久精品娱乐亚洲领先| 久草国产在线观看| 欧美精品1区| 亚洲AV无码乱码在线观看裸奔| 国产精品成| 无码一区二区三区视频在线播放| 女同国产精品一区二区| 啪啪啪亚洲无码| 亚洲欧美国产五月天综合| 色噜噜狠狠色综合网图区| 国产91导航| 欧洲成人免费视频| 午夜精品福利影院| 玩两个丰满老熟女久久网| 中文字幕欧美日韩高清| 毛片免费在线| 国产成人综合日韩精品无码首页| 婷婷六月色| 亚洲天堂高清| www亚洲天堂| 日韩无码真实干出血视频| 国产xx在线观看| 日韩在线观看网站| 国产三级视频网站| 欧美一区二区精品久久久| 欧美国产日韩在线| 精品一区二区三区自慰喷水| 国产原创演绎剧情有字幕的| 丝袜美女被出水视频一区| 色综合天天综合中文网| 五月综合色婷婷| 日本一区中文字幕最新在线| AV网站中文| 午夜精品久久久久久久99热下载| 91免费国产高清观看| 九九热视频在线免费观看| 毛片免费试看| 自慰高潮喷白浆在线观看| 国产成人精品男人的天堂|