面向?qū)ο?amp;面向過(guò)程

?面向過(guò)程

面向過(guò)程就是分析出解決問(wèn)題所需要的步驟潜沦,然后用函數(shù)把這些步驟一步一步實(shí)現(xiàn)艾凯,使用的時(shí)候一個(gè)一個(gè)依次調(diào)用就可以了副编。

?面向?qū)ο?/h2>

面向?qū)ο笫前褬?gòu)成問(wèn)題事務(wù)分解成各個(gè)對(duì)象,建立對(duì)象的目的不是為了完成一個(gè)步驟妆毕,而是為了描敘某個(gè)事物在整個(gè)解決問(wèn)題的步驟中的行為慎玖。

例如五子棋,面向過(guò)程的設(shè)計(jì)思路就是首先分析問(wèn)題的步驟:1笛粘、開(kāi)始游戲凄吏,2远舅、黑子先走,3痕钢、繪制畫面,4序六、判斷輸贏任连,5、輪到白子例诀,6随抠、繪制畫面,7繁涂、判斷輸贏拱她,8、返回步驟2扔罪,9秉沼、輸出最后結(jié)果。把上面每個(gè)步驟用分別的函數(shù)來(lái)實(shí)現(xiàn)矿酵,問(wèn)題就解決了唬复。

而面向?qū)ο蟮脑O(shè)計(jì)則是從另外的思路來(lái)解決問(wèn)題。整個(gè)五子棋可以分為 1全肮、黑白雙方敞咧,這兩方的行為是一模一樣的,2辜腺、棋盤系統(tǒng)休建,負(fù)責(zé)繪制畫面,3评疗、規(guī)則系統(tǒng)测砂,負(fù)責(zé)判定諸如犯規(guī)、輸贏等壤巷。第一類對(duì)象(玩家對(duì)象)負(fù)責(zé)接受用戶輸入邑彪,并告知第二類對(duì)象(棋盤對(duì)象)棋子布局的變化,棋盤對(duì)象接收到了棋子的i變化就要負(fù)責(zé)在屏幕上面顯示出這種變化胧华,同時(shí)利用第三類對(duì)象(規(guī)則系統(tǒng))來(lái)對(duì)棋局進(jìn)行判定寄症。

可以明顯地看出,面向?qū)ο笫且怨δ軄?lái)劃分問(wèn)題矩动,而不是步驟有巧。同樣是繪制棋局,這樣的行為在面向過(guò)程的設(shè)計(jì)中分散在了總多步驟中悲没,很可能出現(xiàn)不同的繪制版本篮迎,因?yàn)橥ǔTO(shè)計(jì)人員會(huì)考慮到實(shí)際情況進(jìn)行各種各樣的簡(jiǎn)化。而面向?qū)ο蟮脑O(shè)計(jì)中,繪圖只可能在棋盤對(duì)象中出現(xiàn)甜橱,從而保證了繪圖的統(tǒng)一逊笆。

功能上的統(tǒng)一保證了面向?qū)ο笤O(shè)計(jì)的可擴(kuò)展性。比如我要加入悔棋的功能岂傲,如果要改動(dòng)面向過(guò)程的設(shè)計(jì)难裆,那么從輸入到判斷到顯示這一連串的步驟都要改動(dòng),甚至步驟之間的循序都要進(jìn)行大規(guī)模調(diào)整镊掖。如果是面向?qū)ο蟮脑捘烁辏挥酶膭?dòng)棋盤對(duì)象就行了,棋盤系統(tǒng)保存了黑白雙方的棋譜亩进,簡(jiǎn)單回溯就可以了症虑,而顯示和規(guī)則判斷則不用顧及,同時(shí)整個(gè)對(duì)對(duì)象功能的調(diào)用順序都沒(méi)有變化归薛,改動(dòng)只是局部的谍憔。

再比如我要把這個(gè)五子棋游戲改為圍棋游戲,如果你是面向過(guò)程設(shè)計(jì)苟翻,那么五子棋的規(guī)則就分布在了你的程序的每一個(gè)角落韵卤,要改動(dòng)還不如重寫。但是如果你當(dāng)初就是面向?qū)ο蟮脑O(shè)計(jì)崇猫,那么你只用改動(dòng)規(guī)則對(duì)象就可以了沈条,五子棋和圍棋的區(qū)別不就是規(guī)則嗎?(當(dāng)然棋盤大小好像也不一樣诅炉,但是你會(huì)覺(jué)得這是一個(gè)難題嗎蜡歹?直接在棋盤對(duì)象中進(jìn)行一番小改動(dòng)就可以了。)而下棋的大致步驟從面向?qū)ο蟮慕嵌葋?lái)看沒(méi)有任何變化涕烧。

當(dāng)然月而,要達(dá)到改動(dòng)只是局部的需要設(shè)計(jì)的人有足夠的經(jīng)驗(yàn),使用對(duì)象不能保證你的程序就是面向?qū)ο笠榇浚鯇W(xué)者或者很蹩腳的程序員很可能以面向?qū)ο笾摱忻嫦蜻^(guò)程之實(shí)父款,這樣設(shè)計(jì)出來(lái)的所謂面向?qū)ο蟮某绦蚝茈y有良好的可移植性和可擴(kuò)展性。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末瞻凤,一起剝皮案震驚了整個(gè)濱河市憨攒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌阀参,老刑警劉巖肝集,帶你破解...
    沈念sama閱讀 219,366評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異蛛壳,居然都是意外死亡杏瞻,警方通過(guò)查閱死者的電腦和手機(jī)所刀,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,521評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)捞挥,“玉大人浮创,你說(shuō)我怎么就攤上這事∑龊” “怎么了蒸矛?”我有些...
    開(kāi)封第一講書人閱讀 165,689評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)络断,這世上最難降的妖魔是什么尖啡? 我笑而不...
    開(kāi)封第一講書人閱讀 58,925評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮摧玫,結(jié)果婚禮上耳奕,老公的妹妹穿的比我還像新娘。我一直安慰自己诬像,他們只是感情好屋群,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,942評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著坏挠,像睡著了一般芍躏。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上降狠,一...
    開(kāi)封第一講書人閱讀 51,727評(píng)論 1 305
  • 那天对竣,我揣著相機(jī)與錄音,去河邊找鬼榜配。 笑死否纬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蛋褥。 我是一名探鬼主播临燃,決...
    沈念sama閱讀 40,447評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼烙心!你這毒婦竟也來(lái)了膜廊?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 39,349評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤弃理,失蹤者是張志新(化名)和其女友劉穎溃论,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體痘昌,經(jīng)...
    沈念sama閱讀 45,820評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡钥勋,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,990評(píng)論 3 337
  • 正文 我和宋清朗相戀三年炬转,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片算灸。...
    茶點(diǎn)故事閱讀 40,127評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡扼劈,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出菲驴,到底是詐尸還是另有隱情荐吵,我是刑警寧澤,帶...
    沈念sama閱讀 35,812評(píng)論 5 346
  • 正文 年R本政府宣布赊瞬,位于F島的核電站先煎,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏巧涧。R本人自食惡果不足惜薯蝎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,471評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谤绳。 院中可真熱鬧占锯,春花似錦、人聲如沸缩筛。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 32,017評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)瞎抛。三九已至艺演,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間婿失,已是汗流浹背钞艇。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,142評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留豪硅,地道東北人哩照。 一個(gè)月前我還...
    沈念sama閱讀 48,388評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像懒浮,于是被迫代替她去往敵國(guó)和親飘弧。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,066評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 解放勞動(dòng)力的是面向?qū)ο蟆?舉一個(gè)栗子:比如今天你需要做一道菜砚著,做菜的材料可能是要到菜市場(chǎng)一條魚次伶,青椒少許,蔥姜蒜等...
    easy_tiny閱讀 193評(píng)論 0 1
  • 以下是我個(gè)人對(duì)面向?qū)ο蠛兔嫦蜻^(guò)程的理解和看法: 面向?qū)ο蠛兔嫦蜻^(guò)程是兩種不同的編程思想稽穆,是兩種不同的跟計(jì)算機(jī)溝通的...
    Manegga閱讀 456評(píng)論 0 1
  • 眾所周知冠王,Java是一種面向?qū)ο笮缘恼Z(yǔ)言。那么面向?qū)ο笥质鞘裁茨厣嘞猓亢兔嫦蜻^(guò)程有什么區(qū)別柱彻?下面就和大家分析下面向?qū)ο?..
    MarcoHorse閱讀 3,912評(píng)論 1 16
  • 一個(gè)晚上豪娜,與小伙伴打球?qū)W習(xí)兩不誤,有份酣暢淋漓哟楷,有份努力過(guò)后的踏實(shí)瘤载,內(nèi)心滿滿的寧?kù)o。 這種感覺(jué)卖擅,和七八年前考研的時(shí)...
    tina2016閱讀 323評(píng)論 0 1
  • 10個(gè)免費(fèi)的HTML5視頻轉(zhuǎn)換工具下載鸣奔,搜過(guò)一些工具,跟此文的工具都差不多惩阶。然后下載了好幾款試用了一下挎狸,最后比較滿...
    恬雅過(guò)客閱讀 2,991評(píng)論 2 1