背景
做為一名使用高級(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)流程:
保存
提交
審核
拒絕
預(yù)發(fā)布
上架
下架
刪除
操作人員在實(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)類似如下的代碼:
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動(dòng)安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍(lán)牙鎖 2017-07-26
- 消息隊(duì)列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標(biāo)分割】 2017-07-26
- 詞向量-LRWE模型-更好地識(shí)別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實(shí)現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動(dòng)安全 Android端惡意鎖屏勒索應(yīng)用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26