色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

走向ASP.NET架構設計——第五章:業務層模式,原則,實踐(后篇)

  設計模式

  本篇文章主要是接著討論的在業務層可以采用的或者常用的一些設計模式:

  State模式

  狀態模式允許一個對象在隨著它的狀態變化而改變它自身的一些行為。

  在項目開發的過程中,有一些類,例如一個業務類常常是有自己的一些狀態的,而且還存在狀態之間的一些轉換,有些狀態之間是可以進行轉換的,有些狀態之間是不能轉換的。就拿一個汽車來舉例子,汽車有很多的狀態:靜止,啟動,前進,后退,停車。而且不能由”前進”狀態轉為“啟動”狀態。

  很多朋友知道state模式的用法和結構,朋友們應該也清楚在狀態之間的轉換用swtich.. case的一些弊端。在項目中,很多時候就沒有”一定”,”非得”要用state模式來解決類似的問題,即使可以用state模式來解決。如果變化不大,switch.. case就夠用了。

  下面還是來首先來看看使用state模式的一些例子。

  還是采用電子商務為背景來舉例:每一個訂單都是有狀態的:New(新的),Shipped(已經發貨),Canceled(已取消)。我們知道一個新的訂單可以被變為”取消”的狀態,也可以成為”已發貨”狀態。但是訂單不能從”已發貨”狀態,變為”取消”的狀態。

  下面就是例子中的類圖:

NET技術走向ASP.NET架構設計——第五章:業務層模式,原則,實踐(后篇),轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 镇安县| 铅山县| 禹州市| 双城市| 裕民县| 太和县| 济源市| 潼南县| 龙门县| 东宁县| 昭通市| 鹿邑县| 齐齐哈尔市| 杭州市| 广安市| 鄂托克前旗| 西丰县| 噶尔县| 沁阳市| 湾仔区| 新乐市| 遂昌县| 昆山市| 望谟县| 广元市| 奇台县| 惠水县| 北海市| 静海县| 当雄县| 重庆市| 安阳县| 长宁区| 伊宁县| 白城市| 海丰县| 嘉峪关市| 布拖县| 景洪市| 新晃| 安庆市|