程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 設計模式系列(二)-抽象工廠,設計模式抽象

設計模式系列(二)-抽象工廠,設計模式抽象

編輯:C#入門知識

設計模式系列(二)-抽象工廠,設計模式抽象


【注】本文還有待修改,現在只提供源碼 和 簡單分析,後續會做詳細說明

1.為什麼要使用抽象工廠,一個案例告訴你,對照下面這張圖,來看案例

1.UI展示有時候,需要調用業務A,有時候要調用業務B
2.而業務A,可能使用了MSSQL數據庫,也有可能使用了Oracle數據庫
3.不管MSSQL數據層,還是Oracle數據層,他們用到的實體都是一樣,且數據庫需要的方法也類似

分析並解決

1.首先,我們肯定需要一個數據層,那麼這個數據層由誰來創建,由誰來調用
【數據層由數據工廠創建 並 賦值給數據層接口,然後由具體的業務層調用】
2.而不同數據庫,會對應不同的工廠,那我們要使用哪個工廠
【通過數據工廠父類,再根據配置文件,可以得到我們需要的數據層對象】
3.然後,我們就需要一個業務層,那麼這個業務層由誰來創建,由誰來調用
【業務層由業務工廠創建 並 賦值 給業務層接口,然後由表示層調用】
4.而不同業務,會對應不同的工廠,那我們要使用哪個工廠
【通過業務工廠父類,再根據配置文件,可以得到我們需要的業務層對象】
5.有了業務層,那麼怎麼調用呢
【在表示層,通過業務工廠父類,創建業務工廠對象】
【再由業務工廠對象,創建業務層對象】
【最後由業務層對象,調用我們需要的方法 】
6.得出結論
【各層都只調用接口,具體實現由工廠來實現】

2.按照以上 分析,我們就開始寫代碼,大家可以按照上面分析,以及對照代碼,理解一下,不懂的話,歡迎交流

3.源碼地址

源碼下載

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved