軟件開(kāi)發(fā)的原則

版本開(kāi)發(fā)復(fù)盤(pán)的一封郵件

我們的問(wèn)題:

1、測(cè)試:不知道開(kāi)發(fā)又改了啥,xx測(cè)試用例又測(cè)試不過(guò)了

2、我要改個(gè)接口。。。。。對(duì)應(yīng)的模塊:接口又改了

3、需求變一下,或者增加一個(gè)功能,或者之前一個(gè)地方?jīng)]有想好,然后很多地方都要改

一句話(huà)總結(jié)一下,改了一小點(diǎn)地方,系統(tǒng)崩潰了,牽一發(fā)而動(dòng)全身

Why?and?how?

之前我們開(kāi)發(fā)Oms,其實(shí)還是相對(duì)簡(jiǎn)單的產(chǎn)品,無(wú)所謂訂單 商品 庫(kù)存。

而分銷(xiāo)平臺(tái)的邏輯要復(fù)雜多了:分銷(xiāo)者?供貨商?訂單?商品?庫(kù)存?賬單 支付

我們?cè)儆弥伴_(kāi)發(fā)oms的方式顯然應(yīng)付不了分銷(xiāo)平臺(tái)了。之前我們開(kāi)發(fā)產(chǎn)品像搭積木,當(dāng)產(chǎn)品復(fù)雜到一定程度,純靠搭積木的方法已經(jīng)行不通了。隨便換一塊,或者動(dòng)動(dòng)位置,整個(gè)產(chǎn)品就會(huì)倒塌。而現(xiàn)在常見(jiàn)的大型建筑越來(lái)越來(lái)采用預(yù)制組合模塊,現(xiàn)場(chǎng)只需要拼接就行,開(kāi)發(fā)復(fù)雜軟件也是這樣。


怎么做?先說(shuō)原則

1、開(kāi)放封閉原則:

盡量通過(guò)擴(kuò)展軟件實(shí)體來(lái)解決需求變化,而不是通過(guò)修改已有的代碼來(lái)完成變化

開(kāi)閉原則是總綱,告訴我們要對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉。

2、依賴(lài)倒置

高層模塊不應(yīng)該依賴(lài)底層模塊,底層也不該依賴(lài)高層,二者都該依賴(lài)其抽象;抽象不應(yīng)該依賴(lài)細(xì)節(jié);細(xì)節(jié)應(yīng)該依賴(lài)抽象;依賴(lài)倒置原則的本質(zhì)就是通過(guò)抽象(接口或抽象類(lèi))使個(gè)各類(lèi)或模塊的實(shí)現(xiàn)彼此獨(dú)立,互不影響,實(shí)現(xiàn)模塊間的松耦合。

3、接口最小

模塊之間的每個(gè)接口應(yīng)該只做一件事情。而且是最小的事情。


具體的辦法:

抽象、抽象再抽象,抽象業(yè)務(wù)。基于抽象定義接口。針對(duì)具體的編碼,最簡(jiǎn)單的套路就是設(shè)計(jì)模式。

策略模式、工廠(chǎng)模式是我們最常該用到的。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,319評(píng)論 25 708
  • 用兩張圖告訴你,為什么你的 App 會(huì)卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,096評(píng)論 2 59
  • 前言 關(guān)于設(shè)計(jì)模式六大設(shè)計(jì)原則的資料網(wǎng)上很多,但感覺(jué)很多地方解釋地都太過(guò)于籠統(tǒng)化,特此再總結(jié)一波。 優(yōu)化第一步-單...
    ghroost閱讀 1,269評(píng)論 0 5
  • 【蛻變新生】20170517學(xué)習(xí)力踐行D63:今天真是各種忙亂,踐行時(shí)間少的可憐,讀了古詩(shī)江南,手指謠動(dòng)作篇若干,...
    高汝鑫閱讀 146評(píng)論 0 0
  • 臺(tái)北市一名五十七歲男子清洗家中魚(yú)缸時(shí),不慎被珊瑚造景刮傷;數(shù)日后手部發(fā)出一小顆疣狀物,剛開(kāi)始他不以為意,沒(méi)想到手指...
    d0394fd7531d閱讀 2,328評(píng)論 0 0

友情鏈接更多精彩內(nèi)容