千里之行,始于足下?!独献印さ诹恼隆?/p>
[解讀]千里遙遠的路程是從腳下第一步開始的。比喻任何事情的成功都是從頭開始,從小到大逐漸積累的。萬事開頭難,沒有個開頭就不會有結(jié)果。任何事情都要從一點一滴的小事開始做起。
面向過程
##概述:面向過程就是自頂向下一步一步的來,需要哪步就做哪步,然后調(diào)用,由淺到深。
? ? 面向過程的開發(fā)中,上來先定義函數(shù),函數(shù)中寫要做的東西,當(dāng)發(fā)現(xiàn)有另一步要做或者需要更詳細的步驟時再寫另一個函數(shù)函數(shù)實現(xiàn)然后進行層層的調(diào)用。
? 比如說制造一輛汽車:那面向過程就是造汽車-零件組裝(籠統(tǒng)的定義需要零件組裝的的函數(shù))-裝車架(比如發(fā)現(xiàn)需要先裝車價)-裝車輪。。。。
面向?qū)ο?/h1>
##概述:面向?qū)ο笫菍⑹聞?wù)高度抽象畫的編程方式。將屬性和行為抽象成類,然后類之間相互調(diào)用合作完成。
面向?qū)ο笫菍傩院托袨榉庋b成類,然后基于這些對象及對象的能力進行業(yè)務(wù)邏輯的實現(xiàn)。
比如制造一輛汽車:面向?qū)ο蟮姆绞?,定義好制造汽車需要的各種零件為屬性,定義好組裝車架、組裝車輪、組裝發(fā)動機等行為為方法。則第三方相當(dāng)于工人師傅,先調(diào)用裝車架的方法再調(diào)用裝車輪,并且這些方法可以重復(fù)使用,不需要每次用到的時候都去寫。
面向過程和面向?qū)ο蟮膬?yōu)劣勢
? 我在網(wǎng)上看到這么一個比喻感覺簡單易懂。(原文鏈接https://blog.csdn.net/jerry11112/article/details/79027834)
面向過程相當(dāng)于蛋炒飯,面向?qū)ο笙喈?dāng)于蓋澆飯。
蓋澆飯的好處就是”菜”“飯”分離,從而提高了制作蓋澆飯的靈活性。飯不滿意就換飯,菜不滿意換菜。用軟件工程的專業(yè)術(shù)語就是”可維護性“比較好,”飯” 和”菜”的耦合度比較低。蛋炒飯將”蛋”“飯”攪和在一起,想換”蛋”“飯”中任何一種都很困難,耦合度很高,以至于”可維護性”比較差。軟件工程追求的目標(biāo)之一就是可維護性,可維護性主要表現(xiàn)在3個方面:可理解性、可測試性和可修改性。面向?qū)ο蟮暮锰幹痪褪秋@著的改善了軟件系統(tǒng)的可維護性。