在这个纷繁的社会里面,统一性的特点能够带来很多高效的产出、牢固的记忆,这种特征无论对于企 业、个人的开发工作,知识的传承都有着非常重要的作用,Winfrom框架本身就是基于这个理念而生,从 统一的数据库设计规则开始,统一的项目格局,统一的业务类、数据访问类、实体类继承关系,再到统 一的公用类库,统一的权限管理模块,统一的字典管理模块,统一的附件管理...,理解这些理念和规则 后,再来个终极的统一,框架代码快速生成--Database2Sharp代码生成工具。所有的框架(包括传统 Winform开发框架、WCF开发框架、混合式开发框架、Web开发框架)都融合到这里来,统一整合各种看似 零散,实则高度渗透的模块,统一的步伐除了时间、效力外,带来给我更多的馈赠。本文主要介绍我的 Winform框架(也包括其他框架的特点)的业务对象统一调用的方式,介绍如何通过BLLFactory或者 CallerFactory的公用类库来实现各种业务对象的创建工作。
1、BLLFactory的对象统一调用规则
在我的框架里面,所有的业务类调用都是以BLLFactory入口进行开始创建,传递业务对象进去即可创 建,这种统一入口的方式能够方便记忆,并减少代码,更重要的是能够很好把一些如缓存规则、创建规 则封装起来,简化代码。BLLFactory的创建示意图如下所示。
既然是统一调用规则方式,那么BLLFactory的类库就应该提升到公用类库的级别,所以提供Winform 框架支持的公用类库如下所示。
当然,为了减少代码,提高开发效率,整体的框架处处体现了代码重用的规则,尽可能把重复的代码 提取出来,因此还有很多如数据访问基类、业务访问基类、数据访问基类接口、实体基类等类库,结合 泛型能够使我们的API更加统一化、强类型化,提高开发效率。由于BLLFactory是公用类库级别,所有独 立开发的模块,也都是以该类库为统一入口,创建所必须的对象。
我们看看框架如何能够在纷繁复杂的类库里面,准确创建一系列的对象的。
BLLFactory业务对象工厂辅助类的代码如下所示。
/// <summary> /// 对业务类进行构造的工厂类 /// </summary> /// <typeparam name="T">业务对象类型</typeparam> public class BLLFactory<T> where T : class { private static Hashtable objCache = new Hashtable(); private static object syncRoot = new Object(); /// <summary> /// 创建或者从缓存中获取对应业务类的实例 /// </summary> public static T Instance { get { string CacheKey = typeof(T).FullName; T bll = (T)objCache[CacheKey]; //从缓存读取 if (bll == null) { lock (syncRoot) { if (bll == null) { bll = Reflect<T>.Create(typeof(T).FullName, typeof(T).Assembly.GetName().Name); //反射创建,并缓存 objCache.Add(typeof(T).FullName, bll); } } } return bll; } } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索框架
, 对象
, c#winfrom
, 代码框架
, 代码
, winfrom
, 框架调用
, 开发框架
, winform 类库 外部exe
, winfrom读取图片
, WCF winfrom
, 业务
, 公用
winfrom读取xml
winform 框架、c winform 框架、winform开发框架源码、winform ui框架、winform 开发框架,以便于您获取更多的相关知识。