(文/馒头)
笔者已采用此框架开发一套企业管理系统,在开发速度和运行速度上已得到证实,其开发模型适应于中小型的系统开发。大型的系统需要再加入分布式缓存,负载均衡等技术。
以下将详细阐述开发框架的功能,应用项目架构的设计以及实际项目的应用。
一,基于ORM的快速开发框架:
框架分为四个项目:
1.Common: 公用函数
比如Cahce操作,cookie操作,文件操作等,另外简繁转换,网页压缩,多语言等功能
2.Controls:公用控件(具体细节,请点此查看<基础框架之Controls控件说明>)
主要有四个控件,数据控件LReapter,分页控件AspNetPage,页面顶部信息菜单控件HeadMenuControl,页面切换页控件WebTabControl;
3.Database:数据操作控件 (具体细节,请点此查看<基础框架之Database控件(ORM架构)说明>)
基于ORM框架,仿照iBatis.Net的风格,整合了几个codeplex开源代码,数据库操作类直接封装了ADO.NET操作,所以在处理速度上非常快,并且避免了开发时忘了关闭数据库而造成数据库连接池溢出。同时在易用性上超越了iBatis.Net,并且弥补了几个iBatis.Net的缺陷。
4.Licence:许可证
此四个为框架的根本,所有的应用系统都基于此开发,其中Controls共用控件和Database数据库操作控件可以分开使用。
二,实际应用项目:
1.Model:实体类
可用工具自动生成,主要应用于ORM的参数的传递。并分离了手工修改和自动生成,可避免更新时带来的混淆。
2.BUControls:常用业务封装控件
将常用的业务块提取出来,封装成控件,比如数据字典的封装。
3.WebForm:Web应用项目
在Web应用中,引用框架的Controls公用控件,在此基础上实现快速开发。
4.WinForm / Console: Desktop应用项目
无论在Web应用还是Desktop应用,Database数据操作控件都可以采用。
三,应用项目架构设计:
1.WEB应用程序的快速开发:
(1)开发模式,分为两种:
第一种,基本上采用.ascx的用户控件。把控件的路径维护到SysTemplet表中,调用时基本上采用LoadUI.aspx?g=***的方式(url重写方式后续在考虑)。
第二种,基于MasterPage母板的.aspx页面开发,同样把文件相对路径维护到SysTemplet基表中。
建议采用第二种,笔者用第一种方式开发时,碰到了很多奇怪的问题(虽然都已解决)。
(2)多皮肤实现:
利用模板统一进行皮肤更换,这点实现起来也非常简单,须确保所有的.aspx都采用母板。
(3)多样式实现:
在设计初把多样式考虑进去,通过动态加载不同的CSS来实现多样式。
(4)多语言实现:
采用框架自带的方式,将多语言维护到指定的文件夹下面,采用xml格式(目前不支持数据库的方式),同时在网页里可以直接用{username}这种语言标签来显示。
您也可以采用其他的方式,这里就不在累赘。
(5)多数据库实现:
采用已封装好的ORM架构,目前只提供Access数据库和SqlServer两种,后续会把Oracle,Mysql,Sqlite等封装进来,您也可以继承框架进行其他数据库的封装。sql配置文件的写法与iBatis.Net相似,不同的数据库sql配置文件放置到不同的文件夹下面,比如SqlServer数据库的sql配置文件放到DB\SqlServer里面,。
示例如下:
<sql id="InsertTemplet">
INSERT INTO SysTemplet WITH (ROWLOCK)
([TempletId],[FunctionId],[Type]) VALUES
(#TempletId#,#FunctionId#,#Type#)
</sql>
<!--使用存储过程-->
<sql id="SP_InsertTemplet">
SP_InsertTemplet #TempletId#,#FunctionId#,#Type#
</sql>
</SqlMap>
四,基于框架的具体使用方法: (待续)