我的开发框架(WinForm)

近来,看园子里,好多同学,展示自己工作中的开发框架,有的功能强大,有的短小精悍,我也来凑个热闹,望各位大侠指点一二。

一、指导思想

     1、尽量减少程序员对数据库的依赖,或者说尽力少的写sql 语句。根据以前做项目的经验,大概10%的代码时间,在拼sql,主要是想利用现有的ORM技术,使得程序员能摆脱大部分拼sql的工作。

     2、支持多种数据比如Sqlerver、Oracle等。公司是做项目为主,不同的项目甲方要求的数据库可能会不同,所以必须支持多数据库。sqlserver和oracle是最常用的,优先支持。

     3、模块化,功能模块间可插拔设计。系统的各个模块间没有必然的联系,可以通过复制一个dll或几个dll,简单的配置一下权限,有的甚至不需要配置,即可使用。

     4、集成日志和权限功能。这两块是系统框架最基本的东西,必须有的。

     5、针对接口编程。有些功能不是从底层写的,是基于第三方的软件进行二次开发的,比如GIS,CAD,不同的项目,选用的平台会有不同。如果更换了二次开发的平台,那么将相关的接口再实现一遍,不影响其他模块。

     6、面向业务。做项目的公司,不做业务,就没饭吃了。因此,程序员的主要精力应该是理解业务和实现业务。

     7、要易于扩展易于部署。技术是不断发展的,业务也是不断变化的,不同的地区,不同的公司的业务是千差万别的,领导的想法也是不断变化的,因此必须容易修改,方便部署。

二、框架设计

下面是我针对CS模式的一个设计,

image

你也许已经看过很多架构示意图,我的这个算是比较简陋的一个了,但我觉得能说明的我的设计的东西。整个图分为三块:图例、整体结构、单模块结构。

首先左上角的是图例,右上角的是一个模块的结构,下面的部分是整体的。

先说说图例,蓝色方块 标示定义的接口,没有真正的实现代码。橙色方块是针对接口的实现。橙色到蓝色的渐变方块 是既有接口又有默认实现。

模块分为3种:核心模块、非业务模块和业务模块。顾名思义,核心模块定义了一系列的通用接口,和部分默认的实现。非业务模块是指和业务无关的模块,用于支撑业务的实现。比如数据操作模块。主要封装数据库的操作。业务模块指针对项目的需求进行实现的模块。

  • 核心模块: Core模块,主要定义了数据操作的接口,日志接口、配置的接口、权限的接口。
  • 非业务模块:Data模块,这个模块主要实现针对实体的一个增删改查的操作,不同的数据库有不同的实现。
  •                Auth模块,实现权限管理的模块。

在一个业务模块中包括以下内容

     Menu(菜单):模块汇总包括哪些菜单,或者说实现了哪些业务的功能。单击一个菜单后,执行什么操作,展示哪些界面等。

     Tool(工具条):模块包括哪些工具,执行什么操作,展示哪些界面等。

    Control:模块中的子界面。

三、用到的技术

     基于.net4.0实现。用到的组件

     1、Mef。 插件机制的实现,.net4.0自带

     2、ServiceStack.OrmLite。 Orm映射的实现,之所以选他是因为,它是针对单表设计的,比较简单易用,不用配置。NHibernate配置太多,容易搞错,EntityFramework目前只支持Sqlserver,不符合要求。

     3、Autofac。Ioc组件

     4、Log4Net。这个不用多说了。

四、项目组织

    不多说啦,上图

image

在实现过程中,增加了Common组件,提取通用的功能,Core.Map组件,提取地图相关的接口。

转载于:https://www.cnblogs.com/liuyh208/p/3282598.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WinForm开源开发框架是一种用于创建Windows桌面应用程序的开源框架。它使用C#作为编程语言,可以充分利用.NET平台的功能和特性。 WinForm开源开发框架具有许多优势。首先,它提供了一套丰富的用户界面控件,如按钮、文本框、列表框等,可以方便地创建功能强大且美观的界面。其次,它支持事件驱动的编程模式,开发人员可以轻松地处理用户交互产生的事件。此外,它还提供了多种布局管理器,可以自动调整控件的位置和大小,以适应不同的屏幕分辨率和窗口大小。 另一个重要的特点是WinForm开源开发框架有庞大的社区支持。开发人员可以通过代码共享和讨论解决方案,快速获得帮助和支持。此外,社区还为开发人员提供了丰富的扩展库和工具,可以加速开发过程,提高开发效率。 除了以上优势,WinForm开源开发框架还具有良好的跨平台兼容性。虽然它主要用于Windows平台的应用程序开发,但通过使用.NET平台,也可以实现在其他操作系统上的部署。这个特点使得开发人员可以轻松地将应用程序迁移到不同的平台,提供更好的用户体验和更广泛的应用范围。 综上所述,WinForm开源开发框架是一个功能强大且易于使用的框架,适用于Windows桌面应用程序的开发。有着丰富的控件和功能、事件驱动的编程模式、灵活的布局管理器以及庞大的社区支持,使得开发人员可以更快速、高效地开发应用程序。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值