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

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

  設計模式

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

  State模式

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

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

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

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

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

  下面就是例子中的類圖:

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

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

主站蜘蛛池模板: 黎平县| 萨嘎县| 图们市| 连南| 和平县| 临泽县| 灵山县| 西平县| 新余市| 鄂伦春自治旗| 永德县| 平原县| 阿拉善左旗| 区。| 沭阳县| 郴州市| 独山县| 镇安县| 高淳县| 广宗县| 奈曼旗| 兴和县| 家居| 灌云县| 奈曼旗| 丰都县| 无为县| 芜湖县| 淳化县| 阿荣旗| 新野县| 涞源县| 江达县| 许昌县| 五指山市| 铁岭市| 黑龙江省| 家居| 遂宁市| 鄢陵县| 太湖县|