作(zuò)為(wèi)一(yī)個(gè)軟件(jiàn)開(kāi)發公司,每年(nián)都(dōu)要(yào)開(kāi)發很(hě<₽"n)多(duō)項目,如(rú)何在開(kāi)發中π提升軟件(jiàn)開(kāi)發效率,更好(hǎo)的(de)複用(yòng)代碼功能(nαδ" éng),一(yī)直是(shì)我們追≠↑↕求的(de)事(shì)情之一(yī)。
代碼複用(yòng)不(bù)是(shì)₽÷€ 簡單的(de)進行(xíng)代碼拷貝,它需要(yào♣)能(néng)很(hěn)好(hǎo) •™的(de)融入新的(de)系統,下(xià)面我們就(jiù)實際開(kāi)發的±♥ (de)經曆和(hé)大(dà)家(jiā)分(fēn)享下(xià)。
軟件(jiàn)開(kāi)發中,整個(gè)系統是(shì)÷♣λ↓由多(duō)個(gè)不(bù)同的(de)功能(néng)模塊&&∑∏組成的(de),模塊之間(jiān)保持一(yī)定的(de)通≥→♠(tōng)信,從(cóng)而使整個(gè)系統很(hěn)好(hǎo)的(de)φ©≥♠運行(xíng)起來(lái)。我們以CRM系統為(wèi)例,含有(yǒu)的(de)功能(n∞✘éng)大(dà)緻:客戶管理(lǐ)、日(r♣"ì)程管理(lǐ)、潛在客戶管理(lǐ)、訂單管理(lǐ)、報(bào)價單管λ↓ 理(lǐ)、營銷管理(lǐ)、發票(piào)管理(lǐ)等等。CRM系統對(duì)不(bù)∞←λ同的(de)行(xíng)業(yè)和(hé)具體(tǐ)♣±的(de)客戶可(kě)能(néng)會(huì)有(yǒu)所不(bù)同,但(dàσ←©↑n)有(yǒu)些(xiē)基礎的(de)功能(néng)還(hái)是(shì₩ε)類似。當然除了(le)這(zhè)些(xiē)應用(yòng)功能(néng)外(wài≤→ ε),還(hái)有(yǒu)些(xiē)系統的(de)基礎功"♠✘能(néng),比如(rú):權限管理(lǐ)、α↔系統用(yòng)戶管理(lǐ)、數(shù)據備份、參數(sh¥"ù)設置等等。
我們這(zhè)裡(lǐ)討(tǎo)論的(de)軟件(≤∞δ"jiàn)開(kāi)發不(bù)是(shì)産品化(huà)的(de$₹)軟件(jiàn),是(shì)面向客戶的(de)定制(zhì)軟件(jiàn&λ)類軟件(jiàn),有(yǒu)些(xiē)客戶考慮到(dào)自(★$σzì)己的(de)數(shù)據安全,和(hé)自(zì)己的( &≥↑de)業(yè)務流程完全吻合,會(huì)選擇€₽進行(xíng)定制(zhì)。定制(zhì)就(j↔¥♥iù)意味著(zhe)需要(yào)進行(xíng)單獨的(de)架構設計&'≠α(jì),設計(jì)出吻合客戶業(yè)務需求的(de)系統,如(rú)果完全從(cónγ∑g)零開(kāi)始開(kāi)發不(bù)是(shì↑★)不(bù)可(kě)以,但(dàn)是(shì)周期會(huì)拉長(cháng)≥✘許多(duō),開(kāi)發的(de)成本也(yě)會(huì)高(""♣gāo)不(bù)少(shǎo)。既然CRM系統基礎功能(néng)類似,那(nà)能(néng)←♠•π不(bù)能(néng)把一(yī)些(xiē♥↕< )功能(néng)模塊進行(xíng)模塊化(huà)開(kāi)發呢(ne)?這(φσ®zhè)樣對(duì)于新項目,就(jiù)無需再次進行(xíng)開(k≠×āi)發。這(zhè)就(jiù)是(shì)模塊化(huà)開(kā ∑¶i)發的(de)由來(lái)。
模塊化(huà)開(kāi)發不(bù)是(shì)把代碼搬運過來(lái)β☆就(jiù)完事(shì)了(le),我們在對(duì)這(zhè)個>¶✘δ(gè)模塊的(de)第一(yī)次開(kāi)發的(de)時(shí)候就(→↕jiù)要(yào)考慮到(dào)後續的(de)模塊化(huà↕♦σ)部署。還(hái)是(shì)以CRM系統開(kāi)發為(wèi)例,比如(rú)客戶管理(lǐ)模塊,功能(néng↓∏)基本相(xiàng)同,不(bù)同點是(shì)客戶對(duì)象₹'γ→的(de)內(nèi)容有(yǒu)所差别。如(rú)果項目開(kāi)發的(σ♣de)多(duō),則模塊化(huà)積累的♣₹↔♠(de)多(duō),這(zhè)樣新項目開(kāi)發的(✘Ωδ♦de)周期就(jiù)會(huì)縮短(duǎ≤∑€♥n)很(hěn)多(duō)。當然這(zhè)個(gè)是(shì)針對↕♠(duì)同類系統的(de)開(kāi)發而言,如(rú)果π<>✔是(shì)完全不(bù)同的(de)系統,功能(÷÷≤néng)完全是(shì)全新的(de)×<,則無法使用(yòng)之前的(de)模塊化(®δhuà),但(dàn)是(shì)還(hái)是(shì)可(kě)以在開(kāiα¶ )發的(de)時(shí)候考慮模塊化(h÷γuà)開(kāi)發,這(zhè)樣如(rúσγ)果由後續的(de)類似項目就(jiù)可(kě)以提高(gāo)效率。
蘇公網安備 32059002004131号