談?wù)劸W(wǎng)站建設(shè)中的程序設(shè)計(jì)

2020-05-05    分類: 網(wǎng)站建設(shè)

網(wǎng)站建設(shè)中面向?qū)ο蟪绦蛟O(shè)計(jì)(簡稱OOP)是當(dāng)今主流的程序設(shè)計(jì)范型,它已經(jīng)取代了70年代的“結(jié)構(gòu)化”過程化程序設(shè)計(jì)發(fā)技術(shù)。Java是完全面向?qū)ο蟮?,必須熟悉ODP才能夠編寫Java程序。

面向?qū)ο蟮某绦蚴怯蓪ο蠼M成的,每個(gè)對象包含對用戶公開的特定功能部分和隱藏的實(shí)現(xiàn)部分。程序中的很多對象來自于標(biāo)準(zhǔn)庫,還有一些是自定義的。究竟是自己構(gòu)造對象,還是從外界購買對象完全取決于預(yù)算和時(shí)間。但是,從根本上說,只要對象能夠滿足要求,就不必關(guān)心其功能的具體實(shí)現(xiàn)過程。在ODP中,不必關(guān)心對象的具體實(shí)現(xiàn),只要能夠滿足用戶的需求即可。

傳統(tǒng)的結(jié)構(gòu)化程序設(shè)計(jì)通過設(shè)計(jì)一系列的過程(即算法)來求解問題。這些過程一旦被確定,就要開始考慮存儲(chǔ)數(shù)據(jù)的方式。這就是Pascal語言的設(shè)計(jì)者Niklaus Wirth將其編著的有關(guān)程序設(shè)計(jì)的著名書籍命名為《算法+數(shù)據(jù)結(jié)構(gòu)=程序》的原因。需要注意的是,在Wirth命名的標(biāo)題中,算琺是第一位的,數(shù)據(jù)結(jié)構(gòu)是第二位的。這就明確地表述了程序員的工作方式。首先要確定如何操作數(shù)據(jù),然后再?zèng)Q定如何組織數(shù)據(jù),以便于數(shù)據(jù)操作。OOP卻調(diào)換了這個(gè)次序,數(shù)據(jù)被放在第一位,然后再考慮操作數(shù)據(jù)的算法。

對于一些規(guī)模較小的問題,將其分解為過程的開發(fā)方式比較理想。而面向?qū)ο蟾舆m用于解決規(guī)模較大的問題。要想實(shí)現(xiàn)一個(gè)簡單的web瀏覽器可能需要大約2000個(gè)過程,這些過程可能需要對一組全局?jǐn)?shù)據(jù)進(jìn)行操作。采用面向?qū)ο蟮脑O(shè)計(jì)風(fēng)格,可能只需要大約100個(gè)類,每個(gè)類平均包含20個(gè)方法。后者更易于程序員掌握,也容易找到bug。假設(shè)給定對象的數(shù)據(jù)處于一種錯(cuò)誤狀態(tài),在訪問過這個(gè)數(shù)據(jù)項(xiàng)的20個(gè)方法中查找錯(cuò)誤要比在2000個(gè)過程中查找容易得多。

分享名稱:談?wù)劸W(wǎng)站建設(shè)中的程序設(shè)計(jì)
文章出自:http://www.bm7419.com/news/82114.html

網(wǎng)站建設(shè)、網(wǎng)絡(luò)推廣公司-創(chuàng)新互聯(lián),是專注品牌與效果的網(wǎng)站制作,網(wǎng)絡(luò)營銷seo公司;服務(wù)項(xiàng)目有網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)