第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

當項目需求升級時,需要在一個成員方法的最后加入一些新的代碼,這應該如何解決,請看例子

當項目需求升級時,需要在一個成員方法的最后加入一些新的代碼,這應該如何解決,請看例子

炎炎設計 2019-01-29 16:58:59
比如,第一版的代碼為://購買商品apipublic function buyGoods(){    //參數(shù)驗證     $validate->validateParam();    //購買邏輯     $goods->buy(); }這時候,第一版已經(jīng)穩(wěn)定運行了,我們希望不再過多修改這個成員方法,但第二版的需求來了,那就是要在這個函數(shù)處理完之后再加入一些處理函數(shù),比如第二版的代碼為:    //購買商品api     public function buyGoods(){        //參數(shù)驗證         $validate->validateParam();        //購買邏輯         $goods->buy();        //用戶積分明細錄入         $user->credit();        //用戶資金明細錄入         $user->money();                  ...等等n個新加函數(shù)     }這個credit()和money()等是后加入了的,如果想加入這些函數(shù)就必須修改buyGoods(),這樣就破壞了原來的buyGoods()。有沒有一種設計模式,可以讓成員方法能在不改變原有代碼的前提下輕易擴展?
查看完整描述

1 回答

?
蝴蝶不菲

TA貢獻1810條經(jīng)驗 獲得超4個贊

如果不依賴調(diào)用的話,可以用mq方式解耦。buyGoods中做生產(chǎn)者,往mq里丟數(shù)據(jù)就行了。消費者自己去做消費。

查看完整回答
反對 回復 2019-01-29
  • 1 回答
  • 0 關注
  • 437 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號