• 馒头的基于ORM的快速开发框架


                         (文/馒头)
          笔者已采用此框架开发一套企业管理系统,在开发速度和运行速度上已得到证实,其开发模型适应于中小型的系统开发。大型的系统需要再加入分布式缓存,负载均衡等技术。
          以下将详细阐述开发框架的功能,应用项目架构的设计以及实际项目的应用。

    一,基于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里面,。
    示例如下:

    <SqlMap>
      
    <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>


    四,基于框架的具体使用方法: (待续)


    id 博主 = [[KILONET.CNBLOGS.COM alloc] initWithValue:@"天堂向右,我依然向左"

                  网名:@"老舟"

                  兴趣:@"影音,阅读"

                  动态:@"系统架构设计,Android通信模块开发"

                  网址:@"http://kilonet.cnblogs.com"
                  签名:@"--------------------------------------------------

                                  Stay Hungry , Stay Foolish

                                  求  知  若  渴,处  事  若  愚

                              --------------------------------------------------"

                  ];         // Never Release

  • 相关阅读:
    ASP.NET
    jquery
    rowcommand事件中获取控件
    Net 自定义Excel模板导出数据
    代码阅读方法与实践---阅读笔记06
    代码阅读方法与实践---阅读笔记05
    代码阅读方法与实践---阅读笔记04
    软件需求十步走---阅读笔记03
    软件需求十步走---阅读笔记02
    软件需求十步走---阅读笔记01
  • 原文地址:https://www.cnblogs.com/KiloNet/p/1555697.html
Copyright © 2020-2023  润新知