相信大家都玩過類似于“斗地主”的紙牌游戲,某人出牌給他的下家,下家看看手中的牌,如果要不起,則將出牌請求轉(zhuǎn)發(fā)給他的下家,其下家再進行判斷。一個循環(huán)下來,如果其他人都要不起該牌,則最初的出牌者可以打出新牌。在這個過程中,紙牌作為一個請求沿著一條鏈在傳遞,每一位紙牌的玩家都可以處理該請求。在設計模式中,也有一種專門用于處理這種請求鏈式的模式,它就是職責鏈模式。

職責鏈模式(Chain of Responsibility)學習難度:★★★☆☆使用頻率:★★☆☆☆

一、采購單的分級審批模塊設計

需求背景:M公司承接了某企業(yè)SCM(Supply Chain Management,供應鏈管理)系統(tǒng)的開發(fā)任務,其中包含一個采購審批子系統(tǒng)。該企業(yè)的采購審批是分級進行的,即根據(jù)采購金額的不同由不同層次的主管人員來審批:主任可以審批5萬元以下(不包括5萬)的采購單,副董事長可以審批5萬~10萬(不包括10萬)的采購單,50萬元以及以上的采購單就需要開董事會討論決定,如下圖所示:

大學生就業(yè)培訓,高中生培訓,在職人員轉(zhuǎn)行培訓,企業(yè)團訓

  M公司開發(fā)人員提出了一個初始解決方案,提供了一個采購單處理類PurchaseRequestHandler用于統(tǒng)一處理采購單,其框架代碼如下:

延伸閱讀

學習是年輕人改變自己的最好方式-Java培訓,做最負責任的教育,學習改變命運,軟件學習,再就業(yè),大學生如何就業(yè),幫大學生找到好工作,lphotoshop培訓,電腦培訓,電腦維修培訓,移動軟件開發(fā)培訓,網(wǎng)站設計培訓,網(wǎng)站建設培訓學習是年輕人改變自己的最好方式