国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net 簡單工廠模式和工廠方法模式之論述

2024-07-10 12:41:35
字體:
來源:轉載
供稿:網友
簡單工廠模式和工廠方法模式的區別
簡單工廠模式的最大優點在于工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態實例化相關的類,對于客戶端來說,去除了于具體產品的依賴。而工廠方法模式定義了一個用于創建對象的借口,讓子類決定實例化哪一個類,工廠方法是一個類的實例化延遲到其子類。其實多做一些聯系不難發現:工廠方法模式實現時,客戶端需要決定實例化那個工廠來實現運算類,選擇判斷的問題還是存在的,也即是說,工廠方法吧簡單工廠的內部邏輯判斷移到了客戶端代碼來進行,我想要加一些功能,本來是需要修改工廠類的,但是現在我們只需要修改客戶端即可。下面是我們老師通過一個項目來簡單的分析工廠模式的區別,我大致整理了一下,寫的不好,只作為參考哦。

現在我們在開發一些web項目或者WInform項目時,我們都要數據庫來管理所有的信息,現在就以我開發的一個系統《隴原商城》為例,假如我的系統投入使用了,假如我用的數據庫就是Access數據庫,但是,過了一段時間,由于隴原商城貨買的非常好,Access數據庫已近不能滿足客戶的需求了,這時候客戶想換成Sql Server數據庫,這樣的話,我們又必須重新編寫代碼,重新換成Sql Server數據庫來實現,假如又過了一段時間,Sql Server數據庫也不能滿足用戶的的需求,這時候用戶又想換成Oracel數據庫來實現呢,到這里就不說了,可能我們開發人員就帶吐血啊,這樣就引起來我們的深思,我們怎么樣做一個系統可以讓我們不在那么麻煩的修改代碼呢?這就涉及到設計模式了,所以就出現了工廠方法模式,下面用工廠方法模式做一個小實驗來實現這樣的一個過程。

新建一個控制臺應用程序,命名為FactoryMethodPattern,在控制臺中添加一個IProductDAL接口,在里面定義一個方法,實現如下:
代碼如下:
namespace FactoryMethodPattern
{
public interface IProductDAL
{
void Insert();
}
}

然后新建接口實現工廠模式IProductDALFactory,實現如下:
代碼如下:
namespace FactoryMethodPattern
{
public interface IProductDALFactory
{
IProductDAL CreateProductDAL();
}
}

接下來在項目中添加類AccessProductDAL,繼承自接口IProductDAL,實現的方法是向控制臺輸出一條信息,實現如下:
代碼如下:
namespace FactoryMethodPattern
{
public class AccessProductDAL:IProductDAL
{
#region IProductDAL 成員
public void Insert()
{
Console.WriteLine("AccessProductDAL.Insert");
}
#endregion
}
}

然后創建一個AccessProductDAL的工廠類,使他繼承自IProductDALFactory接口,創建一個方法使其它的返回值為IProductDAL,最后在方法的實現里面返回實例化的AccessProductDAL,實現代碼如下:
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 邵阳县| 大新县| 嘉祥县| 马关县| 洛川县| 天峨县| 盘锦市| 普格县| 明水县| 德州市| 永仁县| 宝鸡市| 普兰店市| 麻栗坡县| 平武县| 新干县| 社会| 贡觉县| 察隅县| 广元市| 特克斯县| 贵州省| 保德县| 普陀区| 玉山县| 昭通市| 克拉玛依市| 鹤峰县| 周至县| 星子县| 武平县| 佛冈县| 双桥区| 崇阳县| 包头市| 曲阜市| 资溪县| 建宁县| 曲水县| 大荔县| 三穗县|