久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

我所理解的代碼設計

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年03月27日   【字體:

首先任何設計模式都是基于現實的客觀存在,使用計算機容易實現的方式去表現存在。
主流模式分析
面向過程的設計:
對于過程處理的東西,例如流程型的的東西,使用面向過程的設計

基于對象的設計:
一個東西,如果有一個核心的數據,加上圍繞核心數據的接口,那么就使用基于對象的設計

面向對象的設計:
一個系統,里面有很多的對象,對象間互相交互,協調工作,那么就使用面向對象的設計

可見,面向過程,基于對象,面向對象都是客觀事物的本身特性,如果一個工作明明就是流程性的,你卻要使用OO去實現,那么就得不償失,反而會增加開發人員的工作量。

面向過程,基于對象,OO是可以同時存在的,是沒有優先級別的,是不矛盾的。

面向過程,基于對象,OO是思想方式和設計方法,具體的實現方式千變萬化,舉例:
面向過程,可以采用C語言直接實現,
step1
step2
step3
也可以在C語言中采用數據標記來實現
while(1){
if(step == 1)
{
func1();
step = 2;
}
else if(step == 2)
{
func2();
step = 3;
}
...

}

基于對象,在C中的實現,可以采用結構中的數據和函數指針來表示,也可以采用窗口加上消息處理來表示

面向對象,基本類似于基于對象,只是其關注點更在多個對象關系而已。

各種模式沒有優劣之分,各種模式的實現方式在同一個語言中都有很多種,也就是說設計真的和語言沒有什么關系。
現實世界的復雜,并非以上3中模式所能表達出來的,在實際編程中有很多的模式。
而且現實世界中存在很多的并非上面3類主流模式所能表達的東西,例如遞歸算法,函數式,但是無論什么存在,我們總是有變通的辦法來表達的,除非那個存在計算機處理不了。

關于面向對象的錯誤理解
我覺得甚至云風等高手對于面向對象都沒有本質的認識,面向對象本質是關注點是對象間關系,對象間通過接口來互動  ,而不是云風所說的“我所理解的面向對象,是讓不同的數據元有共同的操作方式,適合成組的處理”,共同的操作方式只是關注對象間關系的一個有效收益,也就是如果一組對象間有一組相同的接口,那么我們對這一類對象的操作,可以采用一個相同的方式來進行。例如對于window的UI對象,可以發送update消息,讓他們刷新。至于C++程序中的構造函數、析構函數、類、繼承、虛擬函數、持久化等等更就不是面向對象的本質意義,只是實現方式,或者利于對象使用的工具。
C++語言引入的東西對于實際問題的解決只有有限的效果,但是卻引入過多的復雜度,真是得不償失!

其實就設計來說,幾十年來,沒有什么本質的進展,例如OO的本質意義,在無數次的軟件工程教材中有強調,劃分模塊并即針對模塊的接口設計,隱藏模塊的實現細節,所以說,OO不是什么新的東西,只是基本原則上的一個有益的總結實現。想想一下unix的泛文件的概念。
當然語言工具是有很大的進步了,例如虛擬機、各類動態解釋語言,但是本質依舊沒有變化。

關于OOC
面向對象的C語言編程中,就我目前看來,作者很大的受到C++的影響,無視OO的本質,反而企圖用C模擬C++的實現。實際上使用C實現OO并沒有一定的強制方法,對象接口就可以有很多種,全局數據、基于通訊的消息、函數等。

看看論壇上關于編程的問題,我真為中國的開發者悲哀。
 

由于我在放棄c++之后,導致開發世界觀變化,

剛好這幾天在外調試機器,中間空閑時間較多,就想了一下設計模式。
模式是無處不在,這是基調,例如設計模式中關于建筑中的模式說明。
設計模式中的模式是建立在類繼承上,如果沒有了類,例如c語言,那么設計模式要發生大的改變,至少很多的設計模式不存在了或者變形了。
模式應重在意圖,和具體的實現手段沒有多大關系。例如工廠模式,在c語言中,也可以實現,不過,其實現方式可以是通過提供一個消息對象給client,client通過發消息給消息對象,如果消息中的id=1,則生成某個東西,如果id = 2,則生成另外一個東西。這個也是工廠了。
設計模式,特別是GOF中的設計模式無關緊要,學不會也沒有關系,思想是相通的,對模式的理解是慢慢進行的,快速學會也不會用。
再次強調,OO和設計模式根本就不是銀彈,只是一種思想,而且這個思想很久以前就存在。所以老老實實的做設計演化吧,不要妄圖通過學習OO和設計模式就能一次作出完美的設計。
對于具體的問題來說,業務永遠是最核心的東西,設計模式和語言工具對于業務的解決毫無幫助,反而分散了開發者的心思。
 

關閉窗口

相關文章

主站蜘蛛池模板: xxx国产精品视频 | 天天天操天天天干 | 日韩视频免费 | 国产精品亚洲成在人线 | 麻豆亚洲 | 国产中文字幕在线 | 久久高清 | 99re国产 | 夜夜久久 | 精品免费观看 | 久久99久久99精品免视看婷婷 | 亚洲精品一区在线观看 | 天堂中文字幕av | 91麻豆精品一区二区三区 | 亚洲一区二区电影在线观看 | 欧美色999 | 在线视频中文字幕 | 黄色网址大全在线观看 | 久久国产精品精品国产色婷婷 | 老子午夜影院 | 欧美成人一区二区三区片免费 | 久久久久中文字幕 | 国产精品毛片一区二区三区 | 国产精品乱码一二三区的特点 | 久久久九九 | 欧美一级黄色片免费观看 | 欧美国产激情 | 毛片在线看片 | 精品视频一区二区三区在线观看 | 亚洲国产视频一区 | 国产成人av在线播放 | 日韩久久久久久 | 国产欧美精品一区二区色综合朱莉 | 一本岛道一二三不卡区 | 国产成人免费视频网站高清观看视频 | 日韩在线免费播放 | 精品九九 | 欧美国产日韩精品 | 最新国产精品视频 | 欧美久久久久久久 | 日韩欧美国产电影 |