Java oop自學(xué)提前學(xué)學(xué)習(xí)筆記1:面向過程與面向?qū)ο蟮膮^(qū)別

出現(xiàn)面向?qū)ο蠓治龇椒ǖ脑?/h1>
因?yàn)楝F(xiàn)實(shí)世界太復(fù)雜多變,面向過程的分析方法無法滿足。
面向過程和面向?qū)ο蟮膮^(qū)別
面向過程
主要關(guān)注點(diǎn)是實(shí)現(xiàn)的具體過程和因果關(guān)系。
優(yōu)點(diǎn)
對(duì)于業(yè)務(wù)邏輯比較簡(jiǎn)單的程序,可以達(dá)到快速開發(fā),前期投入成本較低。
缺點(diǎn)
采用面向過程的方式開發(fā),很難解決非常復(fù)雜的業(yè)務(wù)邏輯,另外面向過程的方式導(dǎo)致軟件元素之間的″耦合度″非常高,只要其中一環(huán)出現(xiàn)問題,整個(gè)系統(tǒng)受到影響,導(dǎo)致最終的軟件″擴(kuò)展力″差。
另外由于沒有獨(dú)立體的概念,所以無法達(dá)到組件復(fù)用。
面向?qū)ο?/span>
主要關(guān)注點(diǎn)是:主要關(guān)注對(duì)象【獨(dú)立體】能完成哪些功能?【獨(dú)立顯卡的開發(fā)思路】
優(yōu)點(diǎn):耦合度低,擴(kuò)展力強(qiáng)。更容易解決現(xiàn)實(shí)世界當(dāng)中更復(fù)雜的業(yè)務(wù)邏輯,組件復(fù)用性強(qiáng)。
缺點(diǎn):前期投入成本較高,需要進(jìn)行獨(dú)立體的抽取,大量的系統(tǒng)分析與設(shè)計(jì)。
集成顯卡的開發(fā)思路
業(yè)務(wù)邏輯
耦合度
是對(duì)模塊間關(guān)聯(lián)程度的度量,耦合的強(qiáng)弱取決于模塊間接口的復(fù)雜性、調(diào)用模塊的方式以及通過界面?zhèn)魉蛿?shù)據(jù)的多少。模塊間的耦合度是指模塊之間的依賴關(guān)系、調(diào)用關(guān)系、數(shù)據(jù)傳遞關(guān)系。模塊間聯(lián)系越多,其耦合性越強(qiáng),同時(shí)表明其獨(dú)立性越差。
可擴(kuò)展性
新的功能可以很容易的加入到系統(tǒng)中去,這就是可擴(kuò)展性,突然有一天客戶的需求變了,需要增加新的功能,我這項(xiàng)目要增加新的功能,但是我這項(xiàng)目的主結(jié)構(gòu)不變,這叫做可擴(kuò)展性好!電腦擴(kuò)展性就是可以升級(jí)的程度,擴(kuò)展性越高能升級(jí)的空間就越大。
Java獨(dú)立平臺(tái)
這是Java可以跨平臺(tái)的意思,就是說你寫一個(gè)Java項(xiàng)目,放在Windos下面能跑起來,放在Linux系統(tǒng)下面也能跑起來,和平臺(tái)無關(guān)。
復(fù)用
“不要重復(fù)制造輪子”,在一個(gè)企業(yè)中,根據(jù)不同的場(chǎng)景,復(fù)用的形態(tài)和方式是不同的,大體可以分為組件復(fù)用和服務(wù)復(fù)用兩種方式。組件是按照一定的標(biāo)準(zhǔn)封裝的軟件實(shí)體,可以是為完成某種功能提供的API的集合,也可以是完成某一個(gè)技術(shù)和業(yè)務(wù)功能的實(shí)體;服務(wù)是通過組件暴露出來的供外部調(diào)用的接口和協(xié)議信息。服務(wù)不包括具體功能邏輯,實(shí)體靠組件來實(shí)現(xiàn)。