SmartPersistenceLayer 2.0 正式发布了!

tintown 2004-12-15 08:41:53
前段时间由于项目很急,SmartPersistenceLayer 一直没有时间整理发布,现在终于整理结束,可以正式发布了!
为了让大家能真正体验SmartPersistenceLayer的效果,我写了一个Sample,现在连同Sample源代码一起发布,下载地址:http://www.cnblogs.com/Files/tintown/SPL2.0.1.8Release.rar

关于.NET的持久层的东西,大家可能也看了很多,但可能总是停留在理论上,而SmartPersistenceLayer可以让你真正的体验一下持久层的魅力。

设计初衷
系统开发大概为需求分析,系统分析,编写代码,系统测试过程.

我要介绍的持久层称为SmartPersistenceLayer,简称SPL.,它是针对编写代码过程的,让系统的实现变的快速与高效.

我们可以试想一下,当我们的系统已经设计好,面对那些程序员,我们要为程序员讲解系统果如何做,这称之为业务,程序员在明白了业务后,我们还要告诉他们,这些东西对应的数据库结构是如何的.然后程序员在开发过程占用时间最多的是什么?就是参照着数据库结构写SQL语句进行增删改操作.这将成为系统开发的最大开销.

因此,要提高开发的效率,就应该从这方面着手,让程序员在了解业务的情况下,尽可能的在业务上进行开发.而不用去关心数据库结构,不用去编写那繁重的SQL语句.

这样带来的好处是:

1. 程序员开发会尽可能站在业务层面上,思想会比较清晰,不会因为半路去SQL语句而打断了业务逻辑的思考.

2. 编写繁重的SQL脚本往往容易出错,而程序大部分的时间花在了一次次的调试中.大大影响开发速度.

3. 扩展性将受到很大影响,客户需求的变更,数据库结构的修改,那是一个漫长而艰苦过程.

而SPL将为大家解决这些问题,让系统的业务与数据库的关系变的相对隔离,程序员能站在业务层面进行开发,而不用过多的考虑数据库的问题.下面就开始讲述SPL的故事.



SPL将为系统提供所有的数据库访问,把业务与数据库进行分隔,让业务层所需的数据访问都交给SPL来完成.为了能实现业务层与数据库层的分隔,在SPL中引入"实体Entity"的概念,实体就是对应数据库里的一个表,这样对表的操作都将转到对实体的操作.而实体与表的映射,采用XML进行对照.

在使用SPL前要作的配置就是实体定义,实体被定义后,SPL将为实体自动提供保存、修改、删除、获取等操作,这都由SPL自动来完成,而程序员无需写SQL语句,无需去查找一个个字段名。



SPL功能
SPL的具体功能如下:

1.支持多数据库:

在SPL中可以进行多数据源设定,不同的实体指定不同的数据源,那么在业务层进行时,对开发者将是完全透明,可以同时进行多数据库的操作。

2.支持实体的保存、修改、删除

在其他的PL中,都要手动进行增删改操作,SPL中将完全透明,程序员不用写SQL可以直接对实体进行增删改。

3.支持多种获取功能

SPL提供查询标准(RetrieveCriteria)进行多功能的数据获取,可以以实体,实体集,DataTable等多种方式返回,方便表示层的操作。

4.提供多条件查询

SPL提供条件(Condition),利用此类能进行各种常用的查询条件设置

5.提供多种标准处理方式

SPL提供删除标准,更新标准,能对实体进行多记录的删除与更新

6.支持TOP功能[2.0新增功能]

有设定TOP,进行指定记录数的获取,这将提高系统速度。

7.支持多帐套功能[2.0新增功能]

可以在系统中动态添加数据源,对实体动态进行数据源重指定,这种功能主要用于系统的多帐套,因此称为多帐套功能。

8.支持内存读取功能[2.0新增功能]

在一个系统中,会有很多配置信息,这些数据的特点是字段少,记录少,维护频率低,使用频率高,对于这些数据,我们反复的从数据库,将极大的降低系统性能。SPL允许对这些数据指定为“保存到内存”,那么在第一次获取后,将自动保存到内存中,以后的访问中,将自动从内存中读取,这对程序员来说完全是透明的,而且内存数据的更新也是SPL自动完成,对程序员完全透明。

更多关SPL的信息,请访问:http://www.cnblogs.com/tintown/category/12787.html
...全文
152 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
whmjw 2004-12-15
  • 打赏
  • 举报
回复
下载一个试一下,希望这个东西够 好:)
scocsdn 2004-12-15
  • 打赏
  • 举报
回复
收藏先~~~

62,071

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧