PDF.NET 开发框架

 

 

 

PWMIS数据开发框架


关于框架的名字由来

         在我设计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

框架支持的功能

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

PDF.NET 开发框架_第1张图片

系统结构图

PDF.NET 开发框架_第2张图片

SQL-MAP结构图

PDF.NET 开发框架_第3张图片

集成开发工具--访问数据示例

(该工具下载地址:http://ft.codeplex.com/releases/view/65308 )

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

数据控件:
  • 支持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 等后续版本。

 

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

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

  • Hibernate:借鉴了它的ORM原理和HQL语言,使用了类似的简单的ORM功能;
  • iBatis:借鉴了其SQL-MAP功能,对其复杂性进行了大力精简;
  • LINQ/Entity Framework:提供类似LINQ的OQL语法

 

为什么要选择PDF.NET框架?

  • 喜欢简单的开发过程!
  • 老板逼的急,要快速开发完成!
  • 喜欢ORM框架!
  • 喜欢存储过程+手写SQL的开发方式,更有“安全感”!
  • 希望像写SQL那样来操作ORM框架!
  • EF、NH等框架在我的项目中某些特性没法完全满足,想定制修改或者扩展,但没有源码或者源码规模巨大!
  • 程序复杂,执行要快!
  • 团队中有人喜欢拖控件,有人喜欢写SQL,也有人喜欢ORM,众口难调,作为Leader,不知道如何是好!
  • 项目大,为确保成功,需要掌控所有的细节,包括ORM等数据访问的细节!
  • 系统需要移植到新的数据库系统,但原来的系统手写了很多特定数据库平台的SQL语句,没法移植!
  • ...

 框架是我们多年开发经验的总结,在众多流行的开发框架下,相信你选择PDF.NET没错!

爱心行动

灾后重建:

    本人属四川德阳人士,2008年中国四川汶川大地震德阳也是重灾区,尽管灾害已经过去数年,但灾区重建仍然是一个漫长过程。 如果你觉得本软件对您有一定价值,并且愿意支援灾区重建,请捐助灾区人民,或者对本软件友情赞助,谢谢所有有爱心的人士鼎力支持!

相关活动介绍:众志成城,抗震救灾

开源基金:

    中国的软件开源事业需要更多的人的关心和支持,PDF.NET为此在2011年开始加入开源行列,并在2012年国庆前对最新版本进行开源,希望国人在基础开发框架方面有更多的选择,促进中国软件事业的发展。但PDF.NET出身草根,它的发展需要您的更多呵护。如果您觉得它的确为你的软件开发起到了帮助,并且愿意更进一步的支持框架的发展,请捐助PDF.NET,我们将使用这笔资金来进行框架的宣传、推广、培训活动;支付框架所在网站、源代码托管服务;组织开发活动,奖励开发团队的贡献。

    感谢PDF.NET的会员对于框架已经进行过的捐助,期待有企业用户也对本框架进行捐助。

捐助热线:
邮箱:[email protected] QQ:45383850
捐助帐号:支付宝([email protected]

 

框架应用的项目案例

  • 2007。河南某市测绘流程管理系统,PDF.NET Ver1.0,工作流和信息管理部分;
  • 2008。北京某房产备案管理系统,PDF.NET Ver1.0,工作流部分;
  • 2009。北京某金融咨询公司银行数据应用项目,PDF.NET Ver2.0,作为系统核心框架部分;
  • 2010。北京某金融咨询公司短信发送平台项目,PDF.NET Ver3.0,作为系统核心框架部分。
  • 2010-11。北京某金融咨询公司基金营销系统,PDF.NET Ver4.0,作为系统核心框架部分。
  • 2011-10。360基金卫士,PDF.NET Ver4.1,作为系统核心框架部分。
  • 2012-5 。北京某B2BP在线拍卖系统客户端软件,作为后台服务的持久层组件。

。。。更多成功案例等待你的实现:)

官方资源

本框架官方网站 http://www.pwmis.com/sqlmap (新申请域名,原网址:http://www.pwmis.cn/sqlmap )

博客园:http://www.cnblogs.com/bluedoctor

CSDN:   http://blog.csdn.net/bluedoctor

开源项目:http://pwmis.codeplex.com

 

官方QQ群:43109929 (加入群请注明:PDF.NET技术交流)

 

本人联系方式 QQ:45383850 (深蓝医生)或者 MSN:[email protected] (抗震救灾)

相关文档和更多信息请查看官方网站。

 

 

合作方

会员SVN 源代码托管服务:http://yekuke.com/index.php/pdfnet-faqs/

PDF.NET 问答:http://www.kuteku.com/ask/?ct=browser&tid=8

你可能感兴趣的:(.NET,技术)