1_CSLA.Net在Web应用开发中常用类及说明

此系列只代表我在学习Apress.Expert.C#.2008.Business.Objects过程中总结出来的应用方法,只代表个人意见,把自己学习过程中总结的经验与大家分享。

CSLA.NET国内学的人好像也很多,但是这方面的学习资料太少,总结经验的人也不多,只有 Apress.Expert.C#.2008.Business.Object这本书,还是英文的,原来有本C#.2005.Business.Object的中文版。但现在CSLA.NET已经3.6了,与2005的有很大的变化。我的英文也不好,读了22008版本的,也不是很理解,然后看了作者操作的一些例子,结合自己的开发经验总结了这些东西。

在使用CSLA.NET框架开发web应用时主要使用下边四个类

1Editable root:可编辑的根对象

2Read-only root:只读的根对象实体

3Read-only root collection:只读的根对象集合

4Command object:命令对象

1Editable root:可编辑的根对象

       CSLA.NET中还有Editable child,我没看出来他有多大用处和Editable root功能差不多,我把一切对象都看成是Editable root,各种Editable root可以自由组合使用其它的Editable root。所以就不存在明显的Editable child。一般我也不会使用子对象来完成数据的更新。主要是考虑效率的问题,我可能会使用存储过程来成批处理,而不是采用子对象的方式一个个的调用。

Editable root主要用来对单个业务对象进行增加、删除、修改、查询的操作。同时还包括对象权限的控制,业务实体内业务规则的定义。我特别要强调一个,只能对单个业务对象操作,如只能增加一个、删除一个、修改一个业务对象,查询返回一个业务对象。有点像数据库中的数据操作SQL。此对象只包括这些方法,功能清楚、单一。

2Read-only root:只读的根对象实体

       只提供对实体属性的get访问,内部可以修改,对外不能修改属性,主要用作Read-only root collection集合对象的数据项。

3Read-only root collection:只读的根对象集合

       对业务对象的集合操作,主要是根据不同条件来查询对象,不提供集合的整体增加、删除、修改。是个只读的业务对象。包含的实体为Read-only root。一个强类型的业务实体集。所有操作都会返回Read-only root对象的集合。业务对象的所有查询业务都放到此类中。

对于一些复杂的查询考虑建议增加一个新类,所有方法可以返回DataSet。为什么会有这个类呢,因为我不想把业务中所有的对象都定义成一个类,我不是面向对象的狂热者。我一般采用的规则为对系统中固定的业务对象都定义一个完整的业务类严格按CSLA的方式来处理业务对象,对一些相对不固定的(查询,统一,报表)等,就不建立业务类,还是采用我们的原来的方式,返回DataSet集合。不然系统中的类,太庞大。特别是中国人使用的系统,变化多端。我觉得不可能把所有东西都强类型化,太复杂。

4Command object:命令对象

       我主要用来执行一些增加、删除、修改的操作。主要是集合操作,如成批更新,删除业务对象等,执行后台的一个存储过程。说白了就是执行一条命令,命令的形式可以任意,这个命令在Editable rootRead-only root collection类中都没有的命令。这个类的存在主要是丰富Editable root类的业务操作。

 

       CodeSmith代码生成工具可以根据数据库表为我们自动生成以上各业务类的标准代码。目前已经有支持CSLA.NET3.6的版本。

CSLA.NET是一个在分布式环境下只通过修改配置文件就可以实现N层部署的框架. 它致力于构建丰富,强大而灵活的业务层,包含了验证,权限,数据门户等标准化的解决方案,使你的业务对象更加标准和灵活.它提出了移动对象(Mobile Object) 的概念,使业务对象在不同的服务器上物理性的移动.但它并不失灵活性,其数据门户对ADO.NET,LINQ, ADO.NET Entity Framework,Nhibernate等都能够支持.CSLA.NET还支持在业务对象上构建WPF、ASP.NETWeb Forms、AJAX和 MVC)和Windows Forms,WCF service,Windows Workflow,web Services,Silverlight等用户接口.      CSLA.NET开始于2001年,已经有8年时间了.现在已经被使 用在很多项目.最新发布的3.6版本包括CSLA.NET  for Windows和CSLA.NET for Silverlight两个版本.其CSLA.NET for Silverlight对Silverlight2.0提供了无缝支持.      CSLA.NET提供核心功能:         完全支持数据绑定(WPF,Silverlight,Windows Form和Web Form)      对象状态追踪(对象是否为新增、修改、标记为删除,等等。)    标准化业务和验证规则处理 在对象和属性层级的标准化授权 整合及简化,标准的.NET身份验证模型  撤销(Undo)功能,用来支持实作取消按钮,和复杂分层的用户接口(UI)     标准化集成与数据存取层或ORM 加强对于业务对象的LINQ查询支持 许多的一般生产力(productivity)功能,可用于很多的企业应用程序方案 异步数据存取,和异步验证规则   支持的平台有:Microsoft .NET 1.x through 4.5.1Windows Runtime (WinRT for Windows 8.1)Windows Runtime (WinRT for Windows Phone 8.1)Windows Phone 8 (Silverlight)Silverlight 5Android (using the Xamarin tools)iOS (using the Xamarin tools)Linux and OSX (using mono) 标签:.net开发框架
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值