日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式系列漫谈之二 - 工厂方法模式

發布時間:2023/12/13 asp.net 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式系列漫谈之二 - 工厂方法模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
故事
?????? 10月1日是小雪的生日。許多追求者都想在生日那天給小雪一份意想不到的驚喜,并且表達自己的愛意。這些追求者絞盡腦汁的為小雪發送一個比較有創意的祝福短信。看來,小雪今年的生日過得肯定非常幸福。但是,小雪的手機還是比較特別,只能接受來自跟她手機品牌相同的短信。怎么辦呢?

?????? 這些追求者正在為如何發送生日祝福的問題發愁的時候,善良的小雪為了不辜負這些追求者的良苦用心,為追求者提供統一的發送方法,并且實現不同品牌的手機發送短信。這樣一來,這些追求者再也不用擔心小雪接收不到精心準備的生日祝福了。

工廠方法模式(Factory Method)的解決方案

?? 小雪的做法正是工廠方法模式的思想:使一個類的實例化延遲到子類。定義一個用于創建對象的工廠類,由其決定實例化同一抽象類派生出來的具體類。此模式主要包括三個角色:工廠類,抽象類(接口),具體類。
接口如下:
namespace?XiaoXue
{
???
public?interface?IMessage
???{
????????
void?SendMessage(object?Msg);
???}
}
工廠類如下: namespace?XiaoXue
{
???
public?class?MessageFactory
????{
???????
public?static?IMessage?CreateMessage(string?Type)
????????{
????????????IMessage?message
=?null;
???????????
switch?(Type)
???????????{
????????????????
case?"NOKIA":
????????????????????message?
=?new?NOKIA();
????????????????????
break;
???????????????
case?"MOTOROLA":
???????????????????message?
=?new?MOTOROLA();
???????????????????
break;
????????????????
case?"SANSUNG":
????????????????????message?
=?new?SANSUNG();
???????????????????
break;
????????????}
????????????
return?message;
???????}
???}
}

根據不同的手機類型實現的具體類如下: namespace?XiaoXue
{
????
public?class?NOKIA?:?IMessage
????{
????????
public?void?SendMessage(object?msg)
????????{
????????????
//發送NOKIA短信;
????????}
????}

????
public?class?MOTOROLA?:?IMessage
????{
????????
public?void?SendMessage(object?msg)
????????{
????????????
//發送MOTOROLA短信;
????????}
????}

????
public?class?SANSUNG?:?IMessage
????{
????????
public?void?SendMessage(object?msg)
????????{
????????????
//發送SANSUNG短信;
????????}
????}
}

這樣一來,這些追求者就很方便給小雪發送生日祝福了,例如Nokia手機發短信:
IMessage message=MessageFactory.CreateMessage("NOKIA");
message.SendMessage("生日快樂,祝小雪越長越漂亮。喜歡你的張三");

轉載于:https://www.cnblogs.com/ruochen/archive/2007/12/16/996707.html

總結

以上是生活随笔為你收集整理的设计模式系列漫谈之二 - 工厂方法模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。