关于框架的名字由来

         在我设计www.pwmis.cn 站点(原域名已经过期,现在使用新域名www.pwmis.com )的时候,考虑到架构的兼容性和将来升级的可能性,最重要的是没有足够的时间去为网站添加和维护很多复杂的程序,所以在借鉴前人成功经验的基础上,设计了一套全新的快速数据处理框架 PWMIS Data Develop Framework,简称PDF。

  本套框架的思想是借鉴Java平台的Hibernate 和 iBatis 而来,兼有ORM和SQL-MAP的特性,同时还参考了后来.NET的LINQ(本框架成型于2006年,当时还未听说过LINQ)使用风格,设计了OQL查询表达式。本框架的设计思想是通用的,完全可以移植到Java 平台,现在只提供了.NET平台的实现,暂且将本框架命名为

PDF.NET

(当前最新版 5.0.2,下载请看下面说明。 )

“PDF.NET 官方网站”欢迎您的到来!

 

 

框架支持的功能

  • UI层(WinForm / Web)控件数据绑定、映射与查询;
  • BLL层实体对象查询(OQL)
  • DAL层SQL语句和.NET数据访问代码映射(查看 SQL-MAP 原理)

 

 

PDF.NET体系结构图

 

SQL-MAP结构图

 

 

 详细说来,框架还包含以下特色功能:

  • 数据控件:
    • 支持WinForm / WebForm,使用上无差别;
    • 智能表单数据控件,只需要一行代码实现页面数据的增,删,改,查;
    • 表单数据的自动收集和填充,自动生成查询条件;
    • 无需任何后台代码即可分页的增强数据分页控件。
  • ORM:
    • 无反射:整个框架没有使用反射 来实现ORM和界面数据绑定,可以保证数据操作的高效率。
    • ORM 查询语言--OQL:类似LINQ的支持ORM实体类查询的OQL表达式(有了LINQ为啥还要搞一个OQL?本框架OQL的基本设计在LINQ或者说本人知道 LINQ之前,另外,.NET3.5框架才正式支持LINQ,而我们公司的一个产品却因为采用了3.5框架安装部署不方便成为市场和客服常常抱怨的理由。未来还有这样的理由,我们迫切需要一个类似LINQ的东西运行在某些客户过时的机器上。 ) ,OQL支持“多实体类连接查询”,突破普通的ORM只能查询单个实体的限制。
    • 集成开发工具,支持从表、视图、存储过程、自定义查询生成实体类。
  • SQL-MAP:
    • 集中管理SQL语句,可以生成实体类和根据SQL配置文件自动生成 DAL 代码的代码生成器以及SQL配置文件管理程序;
    • 通过切换SQL-MAP配置文件,支持SQL查询的本地化特征(多数据切换);
    • 提供SQL-MAP配置管理工具,并且支持VS进行配置文件编辑的时候的智能提示;
    • 与iBatis比较,开发使用几乎“零”配置。
  • 自动分页:
    • 多种分页功能,支持分页类,控件分页,OQL分页,SQL-MAP分页
    • 基于SQL词法分析的支持多种数据库的高效分页类,你只需要设置SQL语句和分页属性它便能够为你生成特定数据库平台的当前页数据的SQL语句;
  • 多模式支持:
    • 控件开发模式--内置数据控件支持;
    • OO开发模式--ORM框架和独特的ORM查询语言支持(OQL);
    • SQL开发模式--(SQL-MAP)自动生成DAL层代码;
  • 跨平台支持:
    • 已经验证,框架在Mono 框架的支持下,可以运行在Linux 系统上(演示地址〉〉 ) ;
    • 仅需.NET 框架2.0支持(不是指CRL 2.0),同时支持.NET 3.0.3.5,4.0,4.5 等后续版本。
    • 支持各大主流数据库平台:SqlServer,Oracle,MySQL,PostgreSQL,SQLite,Access,SQL CE等,只要有Ado.net驱动即可支持。

     

    与其它数据处理框架的关系

            本框架是总结多种数据处理框架的优点,去除其复杂性后的轻量级的数据处理框,所以可能没有你熟知的下列重量级框架强大的功能。本框架的设计目标是 轻量,快速,通用,易学 !

    • Hibernate:借鉴了它的ORM原理和HQL语言,使用了类似的简单的ORM功能;
    • iBatis:借鉴了其SQL-MAP功能,对其复杂性进行了大力精简;
    • LINQ/Entity Framework:提供类似LINQ的OQL语法
  • Last edited Sep 28, 2013 at 4:39 PM by dth, version 28