精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Winform開發框架之混合型框架的剖析

開發 架構
混合型框架為了支持WCF方式和傳統訪問數據庫方式兩種對數據操作的方式,有兩個地方有扇出操作,一個是在界面上調用接口對象獲取數據的時候有扇出操作,為了實現WCF方式和傳統訪問數據庫方式的處理,如下所示

我在隨筆《Winform開發框架之框架演化》和《Winform開發框架之混合型框架的實現》都對Winform框架的變種,混合型框架進行了比較詳細的介紹,本文繼續上篇對混合型框架進行進一步的說明。

1、框架的扇出介紹

混合型框架為了支持WCF方式和傳統訪問數據庫方式兩種對數據操作的方式,有兩個地方有扇出操作,一個是在界面上調用接口對象獲取數據的時候有扇出操作,為了實現WCF方式和傳統訪問數據庫方式的處理,如下所示。當然,如果必要,也可以擴展成支持更多的類型,如可能存在舊系統的WebService調用方式等。

另外,整個框架支持Oracle、SqlServer、MySql、Sqlite、Access等數據庫的訪問操作,因此在業務層調用具體數據訪問類的時候,根據配置的不同,具體構造的數據庫訪問對象也不同,因此,這里也有一個扇出操作,而且扇出數量和支持的數據庫一致,如下所示。

2、混合型框架的輔助性模塊集成

混合型框架可以看成是Winform框架高級版本,除了它本身是一個完整的業務系統外,它外圍的所有輔助性模塊均(如通用權限、通用字典、通用附件管理、通用人員管理。。。。)都實現了這種混合型的框架,因此使用非常方便,整個框架如果簡化來看,就是在原有的Winform界面層,用接口調用方式,避免和業務邏輯類的緊耦合關系。由于他是通過接口方式的調用方式,它本身又可以通過配置指定指向WCF的實現,因此也囊括了WCF框架的一切特點。

3、混合型框架的項目及配置分離

說到WCF的訪問方式,混合型框架把業務系統的WCF服務和輔助性公用模塊的WCF服務分開,首先是服務分開,然后是客戶端配置文件分開。

客戶端配置文件分開,是通過把他們的服務配置信息分別用不同的文件表示,如輔助性模塊的WCF配置文件為BaseWcfConfig.config,業務系統的WCF配置文件為WcfConfig.config,通過這樣的分離設置,我們在主配置文件app.Config文件里面,就清爽很多了,如下所示。

  1. <appSettings>  
  2.   <!--軟件名稱-->  
  3.   <add key="ApplicationName" value="深田之星倉庫管理系統"/>  
  4.   <!--開發商名稱-->  
  5.   <add key="Manufacturer" value=""/>  
  6.   <!--組件的數據庫類型:access、sqlserver、sqlite、oracle等,默認為sqlserver可不寫-->  
  7.   <add key="ComponentDbType" value="sqlserver"/>  
  8.   <add key="AttachmentLicense" value="397cV0hDLlNlY3VybXR5fOS8jeWNjuiBqnzlua-lt57niLHlkK-o_6rmioDmnK-mnInpmZDlhbzlj7h8RmFsc2Uv" />  
  9.     
  10.   <!--組件模塊調用方式,采用WCF方式Value為wcf,采用Winform方式Value為win-->  
  11.   <add key="CallerType" value="wcf"/>  
  12.   <!--WCF服務的配置文件地址-->  
  13.   <add key="BaseWcfConfig" value="BaseWcfConfig.config"/>  
  14.   <add key="WcfConfig" value="WcfConfig.config"/>  
  15. </appSettings> 

這樣我們通過修改CallerType的內容(WCF或者WIN),就可以實現兩種不同方式的訪問了。

整個項目工程的布局,除了剛才介紹的WCF服務模塊,其實還有很多其他模塊的,如下面圖所示,包括業務邏輯模塊,服務接口調用模塊,Winform界面模塊、WCF服務邏輯模塊,整個系統的模塊就包含這些,當然外圍的輔助性模塊,如字典、權限、人員等等,他們各自按照這個方式進行組織處理,系統調用的時候,不會具體關心它們的調用邏輯,因為它們的調用方式已經通過約定的CallerType的內容進行了指定。

4、混合型框架的調用介紹

對于混合型框架,不管它的數據調用邏輯是按照傳統的Winform方式,還是分布式的WCF服務調用方式,實現代碼都是一樣的,因為它是基于接口層調用,如下所示是在框架系統中調用數據字典模塊獲取數據的代碼實現。

  1. /// <summary>  
  2. /// 根據字典類型獲取對應的CListItem集合  
  3. /// </summary>  
  4. /// <param name="dictTypeName"></param>  
  5. /// <returns></returns>  
  6. public static CListItem[] GetDictByDictType(string dictTypeName)  
  7. {  
  8.     List<CListItem> itemList = new List<CListItem>();  
  9.     Dictionary<string, string> dict = WHC.Dictionary.UI.CallerFactory<WHC.Dictionary.Facade.IDictDataService>.Instance.GetDictByDictType(dictTypeName);  
  10.     foreach (string key in dict.Keys)  
  11.     {  
  12.         itemList.Add(new CListItem(key, dict[key]));  
  13.     }  
  14.     return itemList.ToArray();  

系統框架調用自己的接口獲取數據,模式也和上面一樣,與傳統的Winform框架調用代碼相比,并沒有增加任何工作流,只是調用對象有點變化而已。

  1. private void winGridViewPager1_OnDeleteSelected(object sender, EventArgs e)  
  2. {  
  3.     if (MessageDxUtil.ShowYesNoAndTips("您確定刪除選定的記錄么?") == DialogResult.No)  
  4.     {  
  5.         return;  
  6.     }  
  7.  
  8.     int[] rowSelected = this.winGridViewPager1.GridView1.GetSelectedRows();  
  9.     foreach (int iRow in rowSelected)  
  10.     {  
  11.         string ID = this.winGridViewPager1.GridView1.GetRowCellDisplayText(iRow, "ID");  
  12.         CallerFactory<IItemDetailService>.Instance.Delete(ID);  
  13.     }  
  14.     BindData();  

如果是傳統的Winform框架,它的刪除操作的核心調用代碼是如下所示,是不是很相似的呢?

  1. BLLFactory<ItemDetail>.Instance.Delete(ID); 

5、混合式框架的代碼生成工具支持

當然,雖然混合型框架比傳統的Winform框架和WCF開發框架更為通用,不過由于它引入了多一層,而且為了實現更多模塊的分離,增加了一些設計上的復雜性,整個項目工程看起來顯得復雜了一點,如下面就是一個以字典模塊為例的混合型框架的內部結構。

為了實現更簡單化的開發,更快更高效的完成混合型框架的開發工作,我擴展了我的代碼生成工具Database2Sharp,使其支持這種混合型框架的代碼生成工作,這樣開發混合型框架就和開發其他兩種Winform開發框架、WCF開發框架一樣,非常方便了。

生成混合型框架項目的步驟就是在【EnterpriseLibrary代碼生成】的***一步進行勾選設置即可。

代碼生成工具,生成整體性的混合型框架項目如下所示,只是沒有下圖的界面部分,這部分在實際開發過程中,結合我的混合型框架案例進行整合即可,另外也可以界使用Database2Sharp進行Winform界面的開發,這樣整體性就非常方便操作了:

6、混合型框架的優化總結

雖然整體性的混合型框架比其他兩種框架模塊,總體增加了一些難度及復雜性,不過,為了使得整個混合型框架開發和使用更加方便,我已經在設計上做了很多相關的工作,力求更好、更高效的使用好這種混合型框架,下面是我對整體性的框架做了的優化改進工作。

1)把所有通用的模塊開發好,方便更好的集成使用,更加高效利用通用模塊,重復利用度更高;

2)把WCF服務發布和服務邏輯分開,更好管理和發布WCF服務,服務發布只需要svc文件,不含任何后臺代碼;

3)統一的業務調用規則和命名規則,所有模塊的接口調用統一為CallerFactory<I***Service>方式,通用模塊和框架的命名規則和機制完全一樣。

4)WCF服務配置文件分離,通用性的輔助模塊的配置文件為BaseWcfConfig.config,業務系統的WCF配置文件為WcfConfig.config,配置文件分離更方便管理和維護,減少主配置文件app.Config的復雜性。

5)***一條,也是最重要的一條,就是代碼生成工具Database2Sharp的同步支持。通過代碼生成工具,更好、更快的生成整個混合性框架的代碼和項目工程,一鍵解決所有的煩惱。Winform界面,利用代碼生成工具Database2Sharp進行生成,然后在項目中整合即可。

原文鏈接:http://www.cnblogs.com/wuhuacong/archive/2013/04/22/3035736.html

責任編輯:張偉 來源: 博客園
相關推薦

2012-08-21 11:26:17

Winform

2012-01-09 15:01:30

TV

2023-09-07 08:00:00

2012-12-11 10:15:02

Winform開發框架

2012-11-20 10:04:46

Winform開發

2011-11-23 09:47:36

Winform

2010-06-22 11:00:26

虛擬化工作環境

2016-05-04 10:00:04

混合開發移動博客

2022-09-22 12:04:22

.NET開發框架

2011-11-14 10:41:15

Winform數據管理模塊Items

2016-05-13 15:39:34

混合開發移動

2015-04-20 09:41:35

AWS混合型IT云供應商

2017-10-13 15:24:42

英特爾CPUFPGA

2010-01-07 15:22:46

2016-03-23 11:05:58

Socket開發框架分析

2010-01-27 10:08:10

2009-10-13 11:32:19

Winform假框架

2009-09-29 10:00:40

Spring AOP框

2011-01-18 12:57:36

點贊
收藏

51CTO技術棧公眾號

天堂在线资源视频| 国产女同一区二区| 中文在线永久免费观看| 超碰在线视屏| 久久久久久久综合| 国产精品福利无圣光在线一区| 一级特黄曰皮片视频| 青青伊人久久| 亚洲精品伦理在线| 国产伦精品一区二区三区高清版| 国产成人亚洲精品自产在线| 久草成人资源| 91精品国产欧美一区二区18| 熟妇熟女乱妇乱女网站| 在线观看免费观看在线| 在线免费观看日本欧美爱情大片| 精品国产乱码久久久久久图片| 久久成人免费观看| 亚洲成人三级| 国产成人午夜片在线观看高清观看| 久久久亚洲精选| 无码人妻精品一区二区中文| 伊人久久精品| 午夜一区二区三区视频| 亚洲乱码国产乱码精品天美传媒| 精品国自产在线观看| 国产午夜久久| 亚洲天堂av女优| 国产高清av片| 欧美gay视频| 亚洲青青青在线视频| 99国产精品久久久久老师| 日韩精品一区二区在线播放| 爽成人777777婷婷| 日韩av最新在线观看| 天天色综合社区| 高清在线视频不卡| 国产精品久久久久久妇女6080| 国产精品免费一区二区三区| 在线观看你懂的网站| 欧美视频久久| 久久精品亚洲一区| 精品无码在线观看| 精品淫伦v久久水蜜桃| 91精品国产乱码久久蜜臀| 国产精品视频一区二区三区四区五区| 在线激情网站| kk眼镜猥琐国模调教系列一区二区| 国产精品一区二区三区免费视频| 欧美bbbbbbbbbbbb精品| 91成人免费| 在线视频精品一| 国产二级一片内射视频播放| 国产精品国产三级在线观看| 欧美性猛交xxxxxx富婆| avav在线看| 高潮在线视频| 亚洲色图视频网站| 一区二区三区不卡在线| 国产在线视频福利| 国产98色在线|日韩| 91久久国产精品| 波多野结衣绝顶大高潮| 久久av一区二区三区| 久久青草精品视频免费观看| 久久久久久久久久久久国产| 国产精品99一区二区三| 中文综合在线观看| 中文字幕精品亚洲| 日韩一区二区中文| 中文字幕在线成人| 在线观看免费黄色网址| 成人免费a**址| 在线播放国产精品| 久久婷婷五月综合| 国产aⅴ精品一区二区三区久久| 精品国产三级电影在线观看| 日韩大尺度视频| 国产精品毛片视频| 亚洲国产精品高清久久久| 中文字幕天堂av| 全球av集中精品导航福利| 亚洲精品按摩视频| 精品人妻少妇嫩草av无码| 婷婷国产精品| 亚洲性线免费观看视频成熟| 黄色av免费播放| 天天做天天爱天天爽综合网| 欧美另类第一页| 国产一级片免费| 午夜精品久久| 欧美日本在线视频中文字字幕| 国产一级一片免费播放| 国产一区二区三区久久| 国产精品对白刺激| 国产人妻精品一区二区三| 国产毛片精品一区| 国产精品一区免费观看| 激情小说 在线视频| 国产精品免费视频一区| 天天做天天爱天天高潮| 色呦呦网站在线观看| 亚洲国产成人porn| 北条麻妃在线观看| 日韩在线电影| 精品国产成人在线影院| av中文字幕免费观看| 精品国产91| 美女福利视频一区| 五月天婷婷久久| 久久精品国产网站| 国产日韩一区二区| av色图一区| 亚洲国产va精品久久久不卡综合 | 自拍偷拍欧美专区| 91精品国产色综合| 91在线你懂的| 99视频一区二区三区| 影音先锋欧美在线| 性感女国产在线| 7777女厕盗摄久久久| 激情综合激情五月| 成人激情开心网| 欧美激情国内偷拍| 国产午夜无码视频在线观看| 国产麻豆91精品| 日韩欧美视频一区二区| www555久久| 在线成人小视频| 免费看污黄网站在线观看| 午夜精彩国产免费不卡不顿大片| 国产精品aaaa| 性高潮久久久久久久久久| 亚洲精品一卡二卡| 精品久久久久久久无码| 日本一道高清一区二区三区| 欧美理论电影在线观看| 日韩欧美一级大片| 久久嫩草精品久久久久| 国产精品88久久久久久妇女| 欧美人与性动交xxⅹxx| 亚洲国产日韩欧美在线图片| 欧美一区免费观看| 久久国产精品72免费观看| 欧美在线一区二区三区四区| 91福利在线免费| 精品久久久网站| 全网免费在线播放视频入口| 美女网站在线免费欧美精品| 欧美精品尤物在线| 麻豆视频在线看| 精品国产乱码久久久久久浪潮 | 国产精品美女久久久久人| 一区二区欧美日韩视频| 麻豆久久久久久久久久| 国产精品自拍三区| 亚洲国产欧美一区二区三区不卡| 免费在线小视频| 亚洲第一黄色网| 久久国产在线观看| 国产黑丝在线一区二区三区| 在线看视频不卡| 欧美极品在线| 久久精品亚洲94久久精品| 97精品人妻一区二区三区在线 | 亚洲一级黄色录像| 日韩二区在线观看| 久久精品日产第一区二区三区| 97天天综合网| 国产视频久久久久久久| 偷偷操不一样的久久| 99精品久久只有精品| 男人操女人免费软件| 亚洲人成伊人成综合图片| 国产成人亚洲综合91精品| 国产玉足榨精视频在线观看| 欧美天天综合网| 一级黄色片日本| 国产精品一级在线| 成年人网站国产| 久久久国产精品入口麻豆| 欧美另类极品videosbest最新版本| 国产三区在线播放| 亚洲午夜一区二区| 一二三不卡视频| 日本va欧美va欧美va精品| 亚洲精品一区二区三| 国产一区二区三区亚洲综合| 欧美成人免费小视频| 亚洲黄色在线免费观看| 亚洲综合区在线| 久久精品综合视频| 秋霞国产午夜精品免费视频| 欧美 日韩 国产 在线观看 | 在线不卡中文字幕| 久久久夜色精品| 2024国产精品视频| 五月婷婷激情久久| 欧美福利一区| 免费99视频| 日韩黄色三级| 久久久久久久电影一区| 精品999视频| 日韩亚洲欧美一区| 日韩三级视频在线播放| 日本一区二区久久| 一区二区在线免费观看视频| 国产情侣一区| 伊人久久99| 欧美大奶一区二区| 国产日韩专区在线| 国产白丝在线观看| 日韩中文字在线| 欧美一级淫片aaaaaa| 欧美午夜精品一区二区蜜桃| 国产精品国产三级国产传播| aaa亚洲精品| 色91精品久久久久久久久| 亚洲精品日本| 亚洲一区二区在线免费观看| 精品女人视频| 91在线视频成人| 老司机成人影院| 欧美俄罗斯性视频| 日本电影在线观看网站| 亚洲精品电影网| av av片在线看| 在线观看亚洲专区| 日本熟妇成熟毛茸茸| 一区二区中文视频| 日韩丰满少妇无码内射| 成人精品视频一区二区三区| 久久久久久久久久一区| 久久一二三四| 麻豆tv在线播放| 亚洲人成免费网站| 农村寡妇一区二区三区| 91九色鹿精品国产综合久久香蕉| 国产免费一区二区三区在线能观看| 欧美男男tv网站在线播放| 欧美日韩国产成人在线观看| 中文字幕日本在线观看| 国产视频精品xxxx| 偷拍精品一区二区三区| 日韩欧美国产wwwww| 在线视频一区二区三区四区| 亚洲图片自拍偷拍| 久久黄色免费视频| 亚洲综合免费观看高清完整版在线| 东京热无码av男人的天堂| 国产日韩av一区二区| 国产黄色网址在线观看| 99久久久久免费精品国产 | 久久99久久精品| 国产理论在线播放| 日韩电影在线免费看| 女性隐私黄www网站视频| 国产精品乱看| 免费毛片小视频| 国产模特精品视频久久久久| 阿v天堂2017| 欧美天天视频| 18黄暴禁片在线观看| 欧美日韩国产一区精品一区| 日本中文字幕一级片| 欧美久久一级| 老子影院午夜伦不卡大全| 激情综合电影网| 日韩黄色短视频| 国内揄拍国内精品久久| 久久久久久av无码免费网站下载| 欧美精品色网| 自拍日韩亚洲一区在线| 亚洲一区视频| 欧美两根一起进3p做受视频| 日本不卡在线视频| 日本高清久久久| 久久超碰97中文字幕| 亚洲xxxx2d动漫1| 乱一区二区av| 日韩久久久久久久久久久| 国产 欧美在线| 玖草视频在线观看| 亚洲国产精品ⅴa在线观看| 网站永久看片免费| 亚洲欧洲综合另类| 久久久久久久久久久久国产| 五月婷婷另类国产| 波多野结衣影片| 宅男在线国产精品| 黄色av一区二区三区| 国产午夜精品一区二区三区| 1024免费在线视频| 欧美大片免费看| 自拍偷拍欧美视频| 国产在线精品成人一区二区三区| 看亚洲a级一级毛片| 精品综合在线| 欧美h版在线| 国产911在线观看| 伊人成人在线| 天堂av在线网站| 国产精品夜夜爽| 国精产品一区一区三区免费视频| 亚洲欧洲日韩在线| 久久夜靖品2区| 欧美精品日韩一本| 天天干在线观看| 日韩在线观看免费高清| 国内在线视频| 国产在线精品一区免费香蕉| 露出调教综合另类| 中国一区二区三区| 国产亚洲毛片在线| 国产三级国产精品国产专区50| 高清在线成人网| 先锋影音av在线| 天天亚洲美女在线视频| 国产一区二区在线视频聊天| 日韩电视剧免费观看网站| 欧美激情办公室videoshd| 欧美性在线视频| 欧美第一在线视频| 日韩aⅴ视频一区二区三区| 欧美午夜一区| 不卡的av中文字幕| 久久综合狠狠综合久久综合88| 玖玖爱这里只有精品| 欧美天堂亚洲电影院在线播放| 神马午夜电影一区二区三区在线观看| www.日韩欧美| 91在线亚洲| 久久精品二区| 波多野结衣的一区二区三区| 国产老熟妇精品观看| 成人午夜在线免费| 国产一卡二卡在线| 精品盗摄一区二区三区| 欧美性猛片xxxxx免费中国| 亚洲一区二区三区在线视频| 五月婷婷六月综合| 99中文字幕在线| 亚洲天堂av老司机| 99久久久国产精品无码网爆| 免费99精品国产自在在线| av在线成人| 丁香婷婷综合激情| 99精品在线免费| 成人精品免费在线观看| 亚洲色无码播放| 欧美成人精品三级网站| 视频一区视频二区视频三区高| 人禽交欧美网站| 夫妻性生活毛片| 精品乱人伦小说| 一二三四视频在线中文| 日本在线观看一区二区| 免费人成黄页网站在线一区二区| 国产高清视频免费在线观看| 欧美一区二区三区人| 精品精品导航| 欧美精品中文字幕一区二区| 水野朝阳av一区二区三区| 粉嫩精品久久99综合一区| 91精品国产高清一区二区三区蜜臀| 手机在线免费av| 免费久久久一本精品久久区| 美洲天堂一区二卡三卡四卡视频| 在线免费观看亚洲视频| 精品免费日韩av| 色多多在线观看| 伊人婷婷久久| av在线免费不卡| 中文字幕在线日亚洲9| 欧美裸身视频免费观看| 欧美日韩一本| 国产无色aaa| 黄色成人在线播放| yourporn在线观看中文站| 亚洲自拍偷拍色图| 中文一区在线| 91香蕉一区二区三区在线观看| 亚洲成色777777女色窝| 亚洲www啪成人一区二区| 穿情趣内衣被c到高潮视频| 99久久精品国产麻豆演员表| 中文字幕 视频一区| 欧美激情一区二区三区高清视频 | 日本三级福利片| caoporm超碰国产精品| 伊人久久亚洲综合| 国内免费精品永久在线视频| 欧美天天综合| 人妻 丝袜美腿 中文字幕| 欧美三级资源在线| 特黄毛片在线观看| 福利在线小视频| 国产午夜三级一区二区三| 亚洲狼人综合网| 国产精品偷伦一区二区|