|
設計模式
本篇文章主要是接著討論的在業務層可以采用的或者常用的一些設計模式:
State模式
狀態模式允許一個對象在隨著它的狀態變化而改變它自身的一些行為。
在項目開發的過程中,有一些類,例如一個業務類常常是有自己的一些狀態的,而且還存在狀態之間的一些轉換,有些狀態之間是可以進行轉換的,有些狀態之間是不能轉換的。就拿一個汽車來舉例子,汽車有很多的狀態:靜止,啟動,前進,后退,停車。而且不能由”前進”狀態轉為“啟動”狀態。
很多朋友知道state模式的用法和結構,朋友們應該也清楚在狀態之間的轉換用swtich.. case的一些弊端。在項目中,很多時候就沒有”一定”,”非得”要用state模式來解決類似的問題,即使可以用state模式來解決。如果變化不大,switch.. case就夠用了。
下面還是來首先來看看使用state模式的一些例子。
還是采用電子商務為背景來舉例:每一個訂單都是有狀態的:New(新的),Shipped(已經發貨),Canceled(已取消)。我們知道一個新的訂單可以被變為”取消”的狀態,也可以成為”已發貨”狀態。但是訂單不能從”已發貨”狀態,變為”取消”的狀態。
下面就是例子中的類圖:

NET技術:走向ASP.NET架構設計——第五章:業務層模式,原則,實踐(后篇),轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。