C語言對象編程構思
其實C語言誕生以來,人們就想了很多辦法來體現(xiàn)“面向?qū)ο?rdquo;的思想。下面就來說說我所知道的方法。
有的人不禁要問,宏定義怎么扯到這里來了,我們可以先看一個簡單的例子:
- #define MacroFunction Afunction
然后在程序里面你調(diào)用了大量的AFunction,但是有一天,你突然發(fā)現(xiàn)你要用BFunction了,(不過AFunction又不能不要,很有可能你以后還要調(diào)用),這個時候,你就可以#define MacroFunction Bfunction來達到這樣的目的。
當然,不得不說這樣的辦法是too simple,sometime na?ve的,因為一個很滑稽的問題是如果我一般要改為BFunction,一半不變怎么辦? 那就只好查找替換了。
靜態(tài)的入口函數(shù),保證函數(shù)名相同,利用標志位調(diào)用子函數(shù):
這樣的典型應用很多,比如說網(wǎng)卡驅(qū)動里面有一個入口函數(shù)Nilan(int FunctionCode,Para*)。具體的參數(shù)是什么記不清楚了。保證相同的函數(shù)名就是說:網(wǎng)卡驅(qū)動是和pNA+協(xié)議棧互連的,那么如何保證pNA+協(xié)議棧和不同的驅(qū)動都兼容呢,一個簡單的辦法就是僅僅使用一個入口函數(shù)。
通過改變?nèi)绻瘮?shù)的參數(shù)值,來調(diào)用內(nèi)部的各個函數(shù)。這樣的做法是可以進化的:如果以后想調(diào)用新的函數(shù),增加相應的函數(shù)參數(shù)值就好了。如果我們將網(wǎng)卡驅(qū)動和pNA+協(xié)議棧看作兩個層的話,我們可以發(fā)現(xiàn):
層與層之間的互連接口是很小的(這里是一個入口函數(shù)),一般是采用名字解析的辦法而不是具體的函數(shù)調(diào)用(利用FunctionCode調(diào)用函數(shù),Nilan僅僅實現(xiàn)名字解析的功能)――!接口限制和名字解析
接口限制:層與層之間僅僅知道有限的函數(shù)
名字解析:層與層之間建立共同的名字與函數(shù)的對應關系,之間利用名字調(diào)用功能。 面向?qū)ο蟮睦砟钍亲园l(fā)的,源自天然的。所以面向?qū)ο蠹夹g被設計得最遵循思維的自然方式。也就是說,用到的符號,術語,定義和每個人都相關?;诿嫦?qū)ο蟮姆治龊驮O計技術的這些特點,客戶可以從始至終參與到系統(tǒng)的分析中去,參與到系統(tǒng)的設計。由于在討論對象之間的交互作用時,大家使用同樣的術語概念。客戶還可以參與文檔的創(chuàng)建和編寫,因為他明確已有對象的含義。這樣分析出來的設計絕對是符合需求易于客戶使用及管理的。
另外加上面向?qū)ο蠹夹g方面的繼承等技術,使得應用系統(tǒng)的的升級變的輕松。當今計算機硬件的飛速發(fā)展使得由于使用面向?qū)ο蠹夹g帶來的速度效率問題變得越來越?jīng)]那么重要了,而各個行業(yè)對于計算機的使用使得軟件越來越復雜,清晰的分析和設計條理變成了更主要的問題,而面向?qū)ο笫欠浅_m合解決這個問題的。
(1)系統(tǒng)分層在數(shù)據(jù)庫和客戶端加入一個中間層,在這一層添加業(yè)務層和數(shù)據(jù)訪問層,數(shù)據(jù)訪問層與數(shù)據(jù)庫交互為業(yè)務層提供數(shù)據(jù)服務。業(yè)務層為客戶層提供經(jīng)過分析及過濾篩選之后的對象及對象集合。
面向?qū)ο蟮睦砟钍亲园l(fā)的,源自天然的。所以面向?qū)ο蠹夹g被設計得最遵循思維的自然方式。也就是說,用到的符號,術語,定義和每個人都相關?;诿嫦?qū)ο蟮姆治龊驮O計技術的這些特點,客戶可以從始至終參與到系統(tǒng)的分析中去,參與到系統(tǒng)的設計。由于在討論對象之間的交互作用時,大家使用同樣的術語概念??蛻暨€可以參與文檔的創(chuàng)建和編寫,因為他明確已有對象的含義。這樣分析出來的設計絕對是符合需求易于客戶使用及管理的。
另外加上面向?qū)ο蠹夹g方面的繼承等技術,使得應用系統(tǒng)的的升級變的輕松。當今計算機硬件的飛速發(fā)展使得由于使用面向?qū)ο蠹夹g帶來的速度效率問題變得越來越?jīng)]那么重要了,而各個行業(yè)對于計算機的使用使得軟件越來越復雜,清晰的分析和設計條理變成了更主要的問題,而面向?qū)ο笫欠浅_m合解決這個問題的。
【編輯推薦】
- 51CTO:技術人也看世界杯——每日球評
- 生命何其輕 技術人員當注重心理健康
- 信息技術人才成長的一般規(guī)律和特殊規(guī)律
- 章文嵩:攜手技術人才 打造低碳淘寶
- 噩耗:搜狐無線事業(yè)部一技術人員猝死