背景

做為一名使用高級(jí)語言的程序員,面向?qū)ο蟮脑O(shè)計(jì)一直都是體現(xiàn)程序員能力的重要標(biāo)準(zhǔn)之一,所以在我工作兩年后也就是2008年我也開始了對(duì)于面向?qū)ο笤O(shè)計(jì)的學(xué)習(xí),主要是拿GOF設(shè)計(jì)模式來練手,盡管實(shí)際項(xiàng)目中沒有真正的使用過。常見的23種設(shè)計(jì)模式,我從2008一至到2009年將近一年的時(shí)間我基本上將這些模式都寫了一篇Demo,但可能是當(dāng)時(shí)的認(rèn)識(shí)問題有少部分的模式我并沒有寫下筆記,比如這篇重點(diǎn)分享的狀態(tài)模式。

案例

由于我工作的項(xiàng)目大多以后臺(tái)業(yè)務(wù)為主,所以簡(jiǎn)單的審核流程非常常見。一說到審核流程,我們可以說市面上有好多工作流的產(chǎn)品可以選擇,這當(dāng)然是好的,但有些項(xiàng)目剛開始規(guī)模比較小,需求也比較簡(jiǎn)單,從技術(shù)成本以及效率上來講一般都不會(huì)考慮在項(xiàng)目剛開始的時(shí)候就引用工作流引擎,基本上都是通過常規(guī)的數(shù)據(jù)狀態(tài)扭轉(zhuǎn)即可達(dá)到目的,說的直白點(diǎn)就是根據(jù)不同的數(shù)據(jù)狀態(tài)來做不同的操作。拿我最近的一個(gè)產(chǎn)品申請(qǐng)功能來講,它具備一個(gè)典型的狀態(tài)扭轉(zhuǎn)流程:

  1. 保存

  2. 提交

  3. 審核

  4. 拒絕

  5. 預(yù)發(fā)布

  6. 上架

  7. 下架

  8. 刪除

操作人員在實(shí)現(xiàn)產(chǎn)品申請(qǐng)的狀態(tài)變更時(shí),一般寫程序步驟是這樣的:

  • 獲取申請(qǐng)的當(dāng)前狀態(tài)

  • 判定當(dāng)前的申請(qǐng)狀態(tài)是否允許做審核操作,一般會(huì)出現(xiàn)類似如下的代碼:

        		

延伸閱讀

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