Winform开发框架的业务对象统一调用方式

在这个纷繁的社会里面,统一性的特点能够带来很多高效的产出、牢固的记忆,这种特征无论对于企 业、个人的开发工作,知识的传承都有着非常重要的作用,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 开发框架,以便于您获取更多的相关知识。

时间: 2025-01-19 04:51:56

Winform开发框架的业务对象统一调用方式的相关文章

Winform开发框架之动态指定数据表

在Winform开发框架的应用中,大多数的时候,我们都是采用固定的表名作为操作数据表的对象,但有时候,有些特殊的需要,需要动态指定表的名称,如表名称可能和年份有关系或者和登录用户的身份有关系等等.本文介绍基于我的Winform开发框架,介绍如何动态构造表名,实现向不同表获取数据的操作实现. 例如:数据库中有一些客户信息的表(Customer),按照年份存储,都是Customer2012这样格式的表,每次调用的时候需要告诉Customer业务对象实际上去访问哪个Customer的表,比如Custo

Winform开发框架中实现多种数据库类型切换以及分拆数据库的支持

在很多应用系统里面,虽然一般采用一种数据库运行,但是由于各种情况的需要,可能业务系统会部署在不同类型的数据库上,如果开发的系统能够很方便支持多种数据库的切换,那可以为我们减少很多烦恼,同时提高系统的适应性和强壮型.还有一种情况,由于业务数据库的不断膨胀或者方便数据库的切割隔离,有时候也会把不同的业务数据库进行分拆,如权限提供数据库,客户关系管理数据库,工作流程数据库,企业营运数据库等等,因此在一个系统里面,同时使用2个或者以上的数据库的情况也是有的.针对这两种情况,本文介绍在我的Winform开

Winform开发框架重构总结

最近一直致力于Winform开发框架的重构工作,因为发现要维护传统Winform开发框架.WCF开发框架.混合式开发框架,以及相关的模块,包括权限管理.字典管理模块.附件管理.人员管理等一些辅助模块,很多代码都会有重复的部分,优化的框架是想提高效率,减少冗余重复代码,本文总结Winform开发框架重构工作中的一些经验总结,以飨读者,希望能够对大家有一定的参考作用. 1.公用类库的分离处理 我的公用类库是自己开发这么多年的总结.收集和整理,对大多数的类库均进行优化整理过,公用类库的本意是对.NET

Winform开发框架中工作流模块之申请单草稿处理

在我们开发工作流模块的时候,有时候填写申请单过程中,暂时不想提交审批,那么可以暂存为草稿,以供下次继续填写或者提交处理,那么这个草稿的功能是比较实用的,否则对于一些填写内容比较多的申请单,每次要重填写很多数据,那会被用户骂的,从用户的角度上来讲,提供草稿保存的功能是比较友好的.本篇随笔介绍在工作流模块中使用一种通用的存储方式来存储及显示申请单草稿的信息. 1.申请单填写 在我们提交申请前,我们一般是需要填写一些相关的资料,如下界面所示. 这个表单记录的信息不多,不过提供存为草稿的功能也是要的,我

Winform开发框架之字段权限控制

在我的很多Winform开发项目中(包括混合框架的项目),统一采用了权限管理模块来进行各种权限的控制,包括常规的功能权限(按钮.菜单权限).数据权限(记录的权限),另外还可以进行字段级别的字段权限控制,字段权限是我们在一些对权限要求比较严格的系统里面涉及到的,可以对部分用户隐藏一些敏感的信息.本篇主要介绍字段权限的控制思路及实现机制,以便大家对这个字段权限的控制有一个直观的了解. 如果需要对权限系统的功能进行一定的了解,可以先回顾下我前面的文章<Winform开发框架之权限管理系统功能介绍>.

混合式开发框架模式中各种登陆方式的配置实现

在我们很多程序的登陆过程中,如果对于一些复杂的内容,可能都有一些配置管理的对话框,本文介绍的混合式开发框架,是指什么呢,我下面给了一个定义. <混合式开发框架>是指混合了传统<Winform开发框架>和<WCF开发框架>的特点,可以在两者之间自由切换,统一了系统界面层对业务服务的调用模式,所有组件模块均实现两种方式的调用,是一种弹性化非常好的框架应用,既可用于单机版软件或者基于局域网内的应用软件,也可以用于分布式技术的互联网环境应用. 对于这种混合式模式,上面说到了有两

Winform开发框架之权限管理系统改进的经验总结(4)-一行代码实现表操作日志记录

在前面介绍了几篇关于我的权限系统改进的一些经验总结,本篇继续这一系列主体,介绍如何一行代码实现重要表的操作日志记录.我们知道,在很多业务系统里面,数据是很敏感的,特别对于一些增加.修改.删除等关键的操作,如果能在框架层面的支持基础上,以最少的代码实现重要表的日志记录,那么是一件非常值得庆贺的事情,也能够为我们客户的数据提供重要的日志跟踪,甚至是数据恢复的参考. 1.数据访问层的对象继承关系 首先,为了减少重复代码的编写,合理的继承关系是必要的,我们需要在数据访问层上建立合理的继承关系,如下是我的

Winform开发框架之插件化应用框架实现

支持插件化应用的开发框架能给程序带来无穷的生命力,也是目前很多系统.程序追求的重要方向之一,插件化的模块,在遵循一定的接口标准的基础上,可以实现快速集成,也就是所谓的热插拔操作,可以无限对已经开发好系统进行扩展,而且不会影响已有的功能,不在需要的模块,通过修改配置移除即可.我的Winform开发框架一直以来,来源于多年的项目积累以及客户的反馈,已经具备了众多很好的特性以及相关的模块组合,为了更好拥抱变化,提高基于Winform开发框架基础上开发新系统的效率,以及为框架融入更多好的特性,故此把我的

Winform开发框架的重要特性总结

从事Winform开发框架的研究和推广,也做了有几个年头了,从最初的项目雏形到目前各种重要特性的加入完善,是经过了很多项目的总结归纳和升华,有些则是根据客户需要或者应用前景的需要进行的完善,整个Winform开发框架具有很好的通用性和借鉴性,本文从该Winform开发框架进行概括总结,力求把各个重要的特性进行一些详细的说明,使大家了解整个Winform开发框架的面貌和特性. Winform开发框架总体性概括有:支持插件化应用开发,能够动态配置及加载开发的插件:菜单支持动态配置,可根据用户权限进行