一般軟件都有一些重要的實體對象形导,這些對象屬于該軟件的核心數(shù)據(jù),對于這些對象需要制定合適的刪除策略习霹。首先我們講一下最簡單的刪除策略朵耕,那就是不刪除,一旦產(chǎn)生就長期存在淋叶。比如說憔披,你現(xiàn)在為一個蛋糕店開發(fā)一個會員卡系統(tǒng),每張卡除了卡號爸吮,還有用戶姓名芬膝、手機號、購買記錄形娇。該用戶卡支持以下三種業(yè)務(wù)
- 只要是出示會員卡就打八折
- 每次消費滿十次就返十元現(xiàn)金
- 每次消費滿一百元就返十元現(xiàn)金
這種卡只要有人進店消費就免費送锰霜,也不存在銷卡的說法,客戶不樂意來了自己把卡丟進垃圾桶就可以桐早。當(dāng)然也可能存在死心眼的客戶非要主動到店里面銷卡癣缅,那么店員把卡接過來丟進營業(yè)臺下面的垃圾桶就行了。這個軟件系統(tǒng)中是否需要實現(xiàn)卡片刪除流程哄酝?我覺得沒有必要友存。這個例子告訴我們最好的策略就是什么都不做。
如果一定要支持重要實體對象的刪除陶衅,那么到底該怎么做呢屡立?再舉一個生活當(dāng)中的例子,某銀行管理系統(tǒng)搀军,用戶的銀行卡是非常重要的實體對象膨俐,但是又要必須支持用戶來銀行銷卡勇皇。銷卡的時候需要關(guān)注很多事項,比如說焚刺,這個卡是否是工資卡敛摘,是否關(guān)聯(lián)了股票交易,基金交易乳愉,第三方理財交易兄淫,是否有房貸,車貸蔓姚,信用貸拖叙、是否關(guān)聯(lián)公積金,社保等等赂乐。這么多關(guān)聯(lián)業(yè)務(wù)薯鳍,都需要解除掉,才能銷卡挨措,否則就會出現(xiàn)巨大的業(yè)務(wù)漏洞挖滤,問題是這些業(yè)務(wù)自身也比較復(fù)雜,解除業(yè)務(wù)本身也不簡單浅役。那么作為銷卡流程到底該怎么實現(xiàn)斩松?
下面有兩種策略,第一種是傻瓜策略觉既,只要存在關(guān)聯(lián)業(yè)務(wù)就不讓銷卡惧盹,至于說解除關(guān)聯(lián)業(yè)務(wù)這件事本身,由其他流程自己去保證瞪讼,銷卡流程自身不關(guān)心钧椰,該流程就認(rèn)死理,只要存在關(guān)聯(lián)業(yè)務(wù)就不讓銷卡符欠,不存在關(guān)聯(lián)業(yè)務(wù)隨便銷卡嫡霞。第二種是精明策略,由銷卡流程發(fā)起希柿,自行驅(qū)動各種接觸關(guān)聯(lián)業(yè)務(wù)的流程诊沪,一把清,保證每次發(fā)起銷卡業(yè)務(wù)都可以輕輕松松搞定曾撤。那么現(xiàn)實生活中端姚,銀行采用的事那種策略呢?毫無疑問是第一種挤悉。
你到銀行銷卡渐裸,不是件輕松的事情,如果這張卡是一張無用卡,不但一分錢沒有而且從來沒有開通任何業(yè)務(wù)橄仆,那么恭喜你,很快就可以辦妥衅斩。如果你這張卡用了很多年盆顾,各種金融業(yè)務(wù)用的都是這樣卡,現(xiàn)在你要移民了畏梆,要和該銀行說拜拜了您宪,那么你要做心里準(zhǔn)備,可能要花半個上午的時間奠涌,并且不一定只在銀行就能辦妥宪巨,可能要跑好幾個地方。
在業(yè)務(wù)比較復(fù)雜溜畅,開發(fā)人員能力有限的情況下捏卓,最好用傻瓜策略,萬萬不要挑戰(zhàn)自己的設(shè)計能力慈格。精明策略是碼農(nóng)容易自己走進去的陷阱怠晴,一旦踏進去會帶來無窮無盡的故障。