001 面向過程 vs 面向?qū)ο?/h1>

定義

  • 面向過程:一種以事件為中心的編程思想
  • 面向?qū)ο螅阂环N以“對象”為中心的編程思想

面向過程

??編程的時候把解決問題的步驟分析出來淌山,然后用函數(shù)把這些步驟實(shí)現(xiàn),在一步一步的具體步驟中再按順序調(diào)用函數(shù)笆豁。

    • 舉例:下五子棋
      面向過程的解法:
      第一步:開始游戲 第二步:黑子先走
      第三步:繪制畫面 第四步:判斷輸贏
      第五步:輪到白子 第六步:繪制畫面
      第七步:判斷輸贏 第八步:返回步驟(2) 第九步:輸出最后結(jié)果
下五子棋{
  開始游戲()票髓;
  黑子先走()珍策;
  繪制畫面()毅人;
  判斷輸贏()吭狡;
  輪到白子();
  繪制畫面()丈莺;
  判斷輸贏()划煮;
  返回到 黑子先走();
  輸出最后結(jié)果缔俄;
}

核心點(diǎn):分而治之般此、關(guān)注過程

面向?qū)ο?/h1>

??把要解決的問題分解成各個對象,建立對象的目的不是為了完成一個步驟牵现,而是為了描敘某個對象在整個解決問題的步驟中的屬性和行為

    • 舉例:下五子棋
      面向?qū)ο蟮慕夥ǎ?/strong>
      第一步:
      將整個五子棋游戲分為三個對象:
      (1)黑白雙方,這兩方的行為是一樣的
      (2)棋盤系統(tǒng)邀桑,負(fù)責(zé)繪制畫面
      (3)規(guī)則系統(tǒng)瞎疼,負(fù)責(zé)判定犯規(guī)、輸贏等
      第二步:
      賦予每個對象一些屬性和行為:
      ??第一類對象(黑白雙方)負(fù)責(zé)接受用戶輸入壁畸,并告知第二類對象(棋盤系統(tǒng))棋子布局的變化贼急,棋盤系統(tǒng)接收到了棋子的變化,并負(fù)責(zé)在屏幕上面顯示出這種變化捏萍,同時利用第三類對象(規(guī)則系統(tǒng))來對棋局進(jìn)行判定
      核心點(diǎn):建模對象太抓、行為通訊

優(yōu)缺點(diǎn)比較

面向過程【面向簡單問題】

優(yōu)點(diǎn):

    • 流程化使得編程任務(wù)明確,在開發(fā)之前基本考慮了實(shí)現(xiàn)方式和最終結(jié)果令杈,具體步驟清楚走敌,便于節(jié)點(diǎn)分析
    • 效率高,面向過程強(qiáng)調(diào)代碼的短小精悍逗噩,善于結(jié)合數(shù)據(jù)結(jié)構(gòu)來開發(fā)高效率的程序

缺點(diǎn):

    • 需要深入的思考掉丽,耗費(fèi)精力,代碼重用性低异雁,擴(kuò)展能力差捶障,后期維護(hù)難度比較大

面向?qū)ο蟆久嫦驈?fù)雜問題】

優(yōu)點(diǎn):

    • 結(jié)構(gòu)清晰,程序是模塊化和結(jié)構(gòu)化纲刀,更加符合人類的思維方式
    • 易擴(kuò)展项炼,代碼重用率高,可繼承,可覆蓋锭部,可以設(shè)計出低耦合的系統(tǒng)
    • 易維護(hù)暂论,系統(tǒng)低耦合的特點(diǎn)有利于減少程序的后期維護(hù)工作量

缺點(diǎn):

    • 開銷大,當(dāng)要修改對象內(nèi)部時空免,對象的屬性不允許外部直接存取空另,所以要增加許多沒有其他意義、只負(fù)責(zé)讀或?qū)懙男袨樘Q狻_@會為編程工作增加負(fù)擔(dān)扼菠,增加運(yùn)行開銷框沟,并且使程序顯得臃腫
    • 性能低飞涂,由于面向更高的邏輯抽象層硼端,使得面向?qū)ο笤趯?shí)現(xiàn)的時候嗅回,不得不做出性能上面的犧牲咙轩,計算時間和空間存儲大小都開銷很大

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者

  • 序言:七十年代末殴泰,一起剝皮案震驚了整個濱河市巧还,隨后出現(xiàn)的幾起案子穗泵,更是在濱河造成了極大的恐慌泽篮,老刑警劉巖盗尸,帶你破解...
    沈念sama閱讀 222,590評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異帽撑,居然都是意外死亡泼各,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,157評論 3 399
  • 文/潘曉璐 我一進(jìn)店門亏拉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扣蜻,“玉大人,你說我怎么就攤上這事及塘∶梗” “怎么了?”我有些...
    開封第一講書人閱讀 169,301評論 0 362
  • 文/不壞的土叔 我叫張陵笙僚,是天一觀的道長芳肌。 經(jīng)常有香客問我,道長肋层,這世上最難降的妖魔是什么庇勃? 我笑而不...
    開封第一講書人閱讀 60,078評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮槽驶,結(jié)果婚禮上责嚷,老公的妹妹穿的比我還像新娘。我一直安慰自己掂铐,他們只是感情好罕拂,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,082評論 6 398
  • 文/花漫 我一把揭開白布揍异。 她就那樣靜靜地躺著,像睡著了一般爆班。 火紅的嫁衣襯著肌膚如雪衷掷。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,682評論 1 312
  • 那天柿菩,我揣著相機(jī)與錄音戚嗅,去河邊找鬼。 笑死枢舶,一個胖子當(dāng)著我的面吹牛懦胞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播凉泄,決...
    沈念sama閱讀 41,155評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼躏尉,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了后众?” 一聲冷哼從身側(cè)響起胀糜,我...
    開封第一講書人閱讀 40,098評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎蒂誉,沒想到半個月后教藻,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,638評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡右锨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,701評論 3 342
  • 正文 我和宋清朗相戀三年怖竭,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片陡蝇。...
    茶點(diǎn)故事閱讀 40,852評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖哮肚,靈堂內(nèi)的尸體忽然破棺而出登夫,到底是詐尸還是另有隱情,我是刑警寧澤允趟,帶...
    沈念sama閱讀 36,520評論 5 351
  • 正文 年R本政府宣布恼策,位于F島的核電站,受9級特大地震影響潮剪,放射性物質(zhì)發(fā)生泄漏涣楷。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,181評論 3 335
  • 文/蒙蒙 一抗碰、第九天 我趴在偏房一處隱蔽的房頂上張望狮斗。 院中可真熱鬧,春花似錦弧蝇、人聲如沸碳褒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,674評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽沙峻。三九已至睦授,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間摔寨,已是汗流浹背去枷。 一陣腳步聲響...
    開封第一講書人閱讀 33,788評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留是复,地道東北人删顶。 一個月前我還...
    沈念sama閱讀 49,279評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像佑笋,于是被迫代替她去往敵國和親翼闹。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,851評論 2 361