CSLA官方网站:http://www.lhotka.net
CSLA 是 Component-based, Scalable, Logical Architecture 的简写, CSLA . NET 是 Rockford Lhotka 基于 .Net 设计的一套 N-tier 分布式框架。
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服务
CSLA .NET 包含如下功能:
l n-Level undo capability
译: n 层撤销功能
l Tracking broken business rules to determine whether an object is valid
译:跟踪违反业务规则以确定某个对象是否有效
l Tracking whether an object's data has changed (is it "dirty"?)
译:跟踪某个对象的数据是否发生了改变(是否 “ 变脏 ” ?)
l Support for strongly-typed collections of child objects
译:支持对于子对象的基于强类型的集合
l A simple and abstract model for the UI developer
译:针对 UI 开发人员的一种简单抽象模型
l Full support for databinding in both Windows Forms and Web Forms
译:对于 Windows Forms 和 Web Forms 中数据绑定的支持
l Saving objects to a database and getting them back again
译:将对象保存到数据库中并将它重新取回
l Table-driven security
译:表驱动的安全机制
l Other miscellaneous features
译:其他各种特性
CSLA .NET 的关键技术:
l Remoting
l 串行化
l Enterprise Services(COM+)
l 反射
l 属性
l .NET 基于角色的安全性
l ADO.NET
CSLA .NET 组件设计图及其依赖关系:
学习参考资料:
1. Source code of CSLA .NET Download (VB.NET & C# versions):
http://www.lhotka.net/Articles.aspx?id=bd7a0904-e76d-48c3-a3ab-a8e9d9645c91
还包含有 CSLA .NET 类库文档。
ProjectTracker Sample Application:
Instructions for setting up the ProjectTracker sample application
Download version 1.2 of the VB ProjectTracker code
Download version 1.2 of the C# ProjectTracker code
2. CSLA .NET MSN Group
http://groups.msn.com/CSLANET/messages.msnw
3. Rockford Lhotka’s homepage
http://www.lhotka.net/Default.aspx