CSLA.NET是一个在分布式环境下只通过修改配置文件就可以实现N层部署的框架. 它致力于构建丰富,强大而灵活的业务层,包含了验证,权限,数据门户等标准化的解决方案,使你的业务对象更加标准和灵活.它提出了移动对象(Mobile Object)的概念,使业务对象在不同的服务器上物理性的移动.但它并不失灵活性,其数据门户对ADO.NET,LINQ, ADO.NET Entity Framework,Nhibernate等都能够支持.CSLA.NET还支持在业务对象上构建WPF、ASP.NET(Web 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)功能,可用于很多的企业应用程序方案中
- 异步数据存取,和异步验证规则
CSLA.NET for Windows和CSLA.NET for Silverlight都提供了强大控件支持.其中CSLA.NET for Silverlight支持控件有: -
CslaDataProvider --使UI层能够调用执行保存(Save),取消(Cancel),添加(Add),删除项(Remove Item)等方法
-
InvokeMethod -- 自动处理事件
-
PropertyStatus -- 显示业务对象的属性状态(验证等)
-
ObjectStatus --使用可视化的管理,基于业务对象的状态自动地变更UI
-
BusyAnimation -- 显示忙碌动画,能够绑定到你的对象以便自动的显示你的对象正在执行一个异步操作
-
Data grid columns -- 通常的data gird列类型与PropertyStatus控件一起为每个单元(cell)显示验证,权限和忙碌信息
CSLA.NET中的数据门户强制了你的对象和数据访问层或者是ORM交互的标准和结构.这个标准化保留了灵活性,使你能够自由的使用几乎任何你选择的数据访问技术,包括但不仅限于:
-
纯ADO.NET(Connection,data readers等)
-
DataSet和TableAdapter对象
-
LINQ to SQL
-
LINQ to XML
-
ADO.NET Entity Framework
-
Nhibernate 和其它第三方ORM工具
-
简单的文件I/O
-
远程XML或者是JSON服务
资源:
详细介绍请见:http://www.lhotka.net/weblog/OverviewOfCSLANET36ForWindowsAndSilverlight.aspx
我的译文:http://www.cnblogs.com/lonely7345/archive/2008/10/22/1315873.html
CSLA.NET 官方网站及社区:http://www.lhotka.net
CSLA资源:http://www.codeplex.com/CSLAcontrib(包括模板文件下载)