国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 課堂 > 技術(shù)開發(fā) > 正文

WEB標準化制作與OOP思想的移植

2023-06-23 14:40:20
字體:
供稿:網(wǎng)友

首先來解釋一下什么是OOP: OOP: Object Oriented Programming,面向?qū)ο蟮某绦蛟O(shè)計。

所謂“對象”就是一個或一組數(shù)據(jù)以及處理這些數(shù)據(jù)的方法和過程的集合。面向?qū)ο蟮某绦蛟O(shè)計完全不同于傳統(tǒng)的面向過程程序設(shè)計,它大大地降低了軟件開發(fā)的難度,使編程就像搭積木一樣簡單,是當(dāng)今電腦編程的一股勢不可擋的潮流。面向?qū)ο缶幊蹋∣bject Oriented Programming,OOP,面向?qū)ο蟪绦蛟O(shè)計)是一種計算機編程架構(gòu)。OOP 的一條基本原則是計算機程序是由單個能夠起到子程序作用的單元或?qū)ο蠼M合而成。

OOP 達到了軟件工程的三個主要目標:重用性、靈活性和擴展性。為了實現(xiàn)整體運算,每個對象都能夠接收信息、處理數(shù)據(jù)和向其它對象發(fā)送信息。OOP 主要有以下的概念和組件:

 組件 - 數(shù)據(jù)和功能一起在運行著的計算機程序中形成的單元,組件在 OOP 計算機程序中是模塊和結(jié)構(gòu)化的基礎(chǔ)。

抽象性 - 程序有能力忽略正在處理中信息的某些方面,即對信息主要方面關(guān)注的能力。
封裝 - 也叫做信息封裝:確保組件不會以不可預(yù)期的方式改變其它組件的內(nèi)部狀態(tài);只有在那些提供了內(nèi)部狀態(tài)改變方法的組件中,才可以訪問其內(nèi)部狀態(tài)。每類組件都提供了一個與其它組件聯(lián)系的接口,并規(guī)定了其它組件進行調(diào)用的方法。

多態(tài)性 - 組件的引用和類ji hui涉及到其它許多不同類型的組件,而且引用組件所產(chǎn)生的結(jié)果得依據(jù)實際調(diào)用的類型。

繼承性 - 允許在現(xiàn)存的組件基礎(chǔ)上創(chuàng)建子類組件,這統(tǒng)一并增強了多態(tài)性和封裝性。典型地來說就是用類來對組件進行分組,而且還可以定義新類為現(xiàn)存的類的擴展,這樣就可以將類組織成樹形或網(wǎng)狀結(jié)構(gòu),這體現(xiàn)了動作的通用性。

由于抽象性、封裝性、重用性以及便于使用等方面的原因,以組件為基礎(chǔ)的編程在腳本語言中已經(jīng)變得特別流行。Python 和 Ruby 是最近才出現(xiàn)的語言,在開發(fā)時完全采用了 OOP 的思想,而流行的 Perl 腳本語言從版本5開始也慢慢地加入了新的面向?qū)ο蟮墓δ芙M件。用組件代替“現(xiàn)實”上的實體成為 JavaScript(ECMAScript) 得以流行的原因,有論證表明對組件進行適當(dāng)?shù)慕M合就可以在英特網(wǎng)上代替 HTML 和 XML 的文檔對象模型(DOM)。 解釋來源:http://baike.baidu.com/view/63596.htm

程序開發(fā)的這種思想非常好,讓我們web前端開發(fā)人員看到了希望,那做為一個WEB前端開發(fā)如何將這些思想進行移植呢?插句話:“思想是好的,但現(xiàn)在卻是跨領(lǐng)域了我們不可能直接將其思想完美無缺地進行移植”,我覺得值得說一下:“一、WEB標準興起的時間不是很長,也沒有這方面的經(jīng)驗供大家借鑒。二、CSS樣式和HTML不可能像程序那樣有封裝,組件化CSS樣式可以做,但也要根據(jù)實際情況進行取舍,為什么?樣式組件化我個人認為有其局限性,它適用于高擴展性頁面,但這樣做對于開發(fā)人員來說將是麻煩的,樣式表中的選擇器被無限的獨立化,無法做繼承,而HTML在調(diào)用選擇器時也會增加很多的選擇器,一旦后期更新過頻HTML結(jié)構(gòu)勢必要做大量調(diào)整,有違WEB標準思想中,只更新樣式不動結(jié)構(gòu)!同時WEB標準也沒有抽象性這個概念,WEB標準還比較弱小……CSS并不是萬能的也沒那么神化!WEB標準需要的是過程,用心去體會其思想,只看到其表面是不行的,明白它的思想和核心加以強化就已經(jīng)提升到了一個高度。

OOP思想移植到WEB標準中來,不僅是思想,更多的我想應(yīng)該是現(xiàn)實與否的問題,我們當(dāng)然要這種思想,但我們怎么做呢?分解,轉(zhuǎn)化……分解:首先對OOP主要的思想的個特性進行分解,樣式有組件化、繼承性,模塊化要結(jié)合HTML結(jié)構(gòu)來做!重用性當(dāng)然也要靠樣式來完成,定義最基礎(chǔ)的樣式,后邊再根據(jù)各模塊實際情況進行,當(dāng)然是重用最基礎(chǔ)及普通共存的屬性,對于浮動、寬度、背景之類的,后繼再加以擴展定義與之前的基礎(chǔ)類選擇器配合使用就完成了新模塊了,列表就可以這樣進行處理,我在2007年12月酷6網(wǎng)新版時視頻列表全是基于這種手法進行處理!樣式組件是要根據(jù)實際情況進行采納,不存在包含或繼承關(guān)系,這樣做就給結(jié)構(gòu)增加更多的選擇器來組合完成效果,也給樣式增加負擔(dān),樣式表會很大,也有一個好處就是選擇器不會有沖突,最多只是同樣式的屬性,后邊的會覆蓋前邊的同個屬性,但組織好樣式是會避免沖突的產(chǎn)生!

利用OOP思想進行WEB標準開發(fā)會給整個開發(fā)以及維護帶來便捷,但目前還很有限,路還很長,也許再過幾年會有另外的技術(shù)來取帶!

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 饶平县| 全南县| 同仁县| 苏尼特左旗| 永善县| 嘉义县| 永新县| 来凤县| 新巴尔虎左旗| 桑日县| 平定县| 淮南市| 永新县| 乐至县| 三明市| 崇明县| 宁化县| 股票| 宁城县| 禄劝| 垦利县| 南皮县| 清镇市| 乌拉特中旗| 沁水县| 瓦房店市| 安化县| 山丹县| 昌平区| 当涂县| 昌乐县| 安阳县| 广东省| 龙州县| 临沂市| 林甸县| 河源市| 柏乡县| 沈阳市| 普陀区| 孟州市|