CSLA.NET

来自开放百科 - 灰狐
(版本间的差异)
跳转到: 导航, 搜索
(指南)
(链接)
 
(未显示1个用户的10个中间版本)
第1行: 第1行:
CSLA .NET 是一个开源(MIT)的企业应用开发框架,CSLA 是 Component-based, Scalable, Logical Architecture 的缩写。
+
CSLA.NET 是一个开源(MIT)的企业应用开发框架,CSLA 是 Component-based, Scalable, Logical Architecture 的缩写。
  
CSLA .NET是一个[[.NET]]软件开发框架,可以帮助开发者为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层。
+
CSLA.NET是一个[[.NET]]软件开发框架,可以帮助开发者为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层。
 
[[image:csla.net.png|right]]
 
[[image:csla.net.png|right]]
 +
 +
==简介==
 +
CSLA.NET 是一款开源的(MIT)企业开发框架,用于构建你的商业逻辑和应用。
 +
 
==功能==
 
==功能==
 
*完全支持数据绑定(WPF,Silverlight,Windows Form和Web Form);     
 
*完全支持数据绑定(WPF,Silverlight,Windows Form和Web Form);     
第14行: 第18行:
 
*许多的一般生产力(productivity)功能,可用于很多的企业应用解决方案中;
 
*许多的一般生产力(productivity)功能,可用于很多的企业应用解决方案中;
 
*异步数据存取,和异步验证规则。
 
*异步数据存取,和异步验证规则。
 +
 +
==好处==
 +
使用CSLA.NET能够获得的好处:
 +
*智能数据:业务数据和与之关联的业务逻辑被封装在对象中,这样开发者永远不会使用原始的、不受保护的数据,所有的业务逻辑被集中在一起,从而易于维护。
 +
*简单的对象创建过程:开发者使用标准的.NET面向对象的编程技术来创建业务对象。
 +
*灵活的物理配置:数据访问代码可以在本地或者在应用服务器上运行,而不需要改变业务代码。
 +
*对象持久化:清晰地定义包含所有数据访问代码的方法。
 +
*优化的数据访问:如果对象的数据已经被改变了,那么对象只会保持它自身。我们很容易就可以在多种事务技术中选择一种,来平衡性能和功能。
 +
*可选的多级撤销功能:我们能够很容易地支持复杂的WPF或者Windows窗体界面,还支持高性能的Web界面。
 +
*业务规则管理:会减少需要实现业务规则和验证规则的代码。
 +
*授权规则管理:会减少实现对每个属性授权所需的代码。
 +
*简单的用户界面创建:完全支持WPF、Windows窗体和Web窗体的数据绑定,在创建复杂的用户界面时能够尽量减少代码。
 +
*对Web服务的支持:开发者能够迅速地为应用程序创建Web服务接口,以便于其它应用程序能够直接使用应用程序的功能。
 +
*自定义身份验证:易于我们在Windows集成安全措施和CSLA.NET自定义安全措施之间做出选择。也易于自定义CSLA.NET的自定义安全措施,方便使用已存在的安全数据库。不论在哪种情况下,都会使用标准的.NET安全对象,提供访问用户安全信息的标准方式。
  
 
==命名空间==
 
==命名空间==
CSLA.NET框架的命名空间
+
CSLA.NET框架的命名空间:
*Csla
+
*Csla 包含了业务开发者使用的最一般的类型
*Csla.Core
+
*Csla.Core 包含了为框架提供核心功能的类型,不期望被业务开发者使用
*Csla.Data
+
*Csla.Data 包含了用于数据访问操作的可选类型,通常被业务开发者、Web用户界面和Web服务开发者使用
*Csla.DataPortalClient
+
*Csla.DataPortalClient 包含的类型支持客户端DataPortal行为,在创建自定义数据门户代理时使用
*Csla.Linq
+
*Csla.Linq 包含的类型实现LINQ to CSLA功能,不期望被业务开发者使用
*Csla.Properties
+
*Csla.Properties 包含了Visual Studio为Csla项目生成的代码,不期望被业务开发者使用
*Csla.Reflection
+
*Csla.Reflection 包含的类型抽象和提升对反射的使用,不期望被业务开发者使用
*Csla.Security
+
*Csla.Security 包含支持授权的类型,在创建自定义安全主体对象时使用
*Csla.Serialization
+
*Csla.Serialization 包含的代码抽象了对.NET的BinaryFormatter或NetDataContractSerializer串行化技术的使用
*Csla.Server
+
*Csla.Server 包含的类型支持服务器端数据门户行为,不期望被业务开发者使用
*Csla.Server.Hosts
+
*Csla.Server.Hosts 包含的类型支持服务器端数据门户宿主,在创建自定义数据门户宿主时使用
*Csla.Validation
+
*Csla.Validation 包含的类型支持验证和业务规则的类型,通常在创建规则方法时使用
*Csla.Web
+
*Csla.Web 包含CslaDataSource控件,由Web用户界面开发者使用
*Csla.Web.Design
+
*Csla.Web.Design 包含支持CslaDataSource控件的类型,不期望被业务开发者使用
*Csla.WebServiceHost
+
*Csla.WebServiceHost 包含了Web服务数据门户宿主,不期望被业务开发者使用
*Csla.Windows
+
*Csla.Windows 包含的控件帮助Windows窗体数据绑定,被Windows用户界面开发者使用
*Csla.Worflow
+
*Csla.Worflow 包含的类型帮助使用Windows工作流基础(WF),被工作流开发者使用
*Csla.Wpf
+
*Csla.Wpf 包含的控件帮助WPF数据绑定,由WPF用户界面开发者使用
 
为业务开发者所适宜哦难过的主要的基类位于Csla命名空间zi自身,它们是:
 
为业务开发者所适宜哦难过的主要的基类位于Csla命名空间zi自身,它们是:
 
*Csla.BusinessBase<T>
 
*Csla.BusinessBase<T>
第42行: 第60行:
 
*Csla.NameValueListBase<K, V>
 
*Csla.NameValueListBase<K, V>
 
*Csla.CommanBase
 
*Csla.CommanBase
 +
 +
==类==
 +
Csla命名空间中主要的类:
 +
*ApplicationContext 该类用于访问重要的应用程序上下文信息,被框架、业务类以及用户界面代码使用
 +
*BusinessBase 可编辑根对象、子对象以及可切换对象继承的基类
 +
*BusinessListBase 可编辑根和子列表对象继承的基类
 +
*CommandBase 命令对象继承的基类
 +
*CriteriaBase 自定义条件对象继承的基类
 +
*DataPortal 该类向客户端公布数据门户功能
 +
*EditableRootListBase 动态列表对象继承的基类
 +
*NameValueListBase 名称/值列表对象继承的基类
 +
*PropertyInfo 该类为每个业务对象属性定义元数据
 +
*ReadOnlyBase 只读根和子对象继承的基类
 +
*ReadOnlyListBase 只读根和子列表对象继承的基类
 +
*SingleCriteria 该类为任何对象提供单值条件
 +
*SmartDate 该类型扩展了DateTime,添加了空日期的概念以及其他特性
 +
*Utilities 该类型包含其他类使用的使用工具方法
 +
 +
==上下文==
 +
ApplicationContext类位于应用程序的中心位置,从这里可以访问应用程序的上下文信息。
 +
 +
以下是通过ApplicationContext提供的上下文信息:
 +
*GlobalContext  上下文数据的集合,它会从客户端流向服务端,然后从服务器流回客户端,两端上的变化会跨网络传送
 +
*ClientContext 上下文数据的集合,它会从客户端流向服务端,在服务端上的变化不会带回给客户端
 +
*LocalContext 上下文数据的结合,它只存在于当前位置(客户端或者服务端)
 +
*User 当前.NET安全(主体)对象,我们可以安全地访问这个值,而与运行时(ASP.NET,WPF等)无关
 +
*AuthenticationType 来自于CslaAuthentication配置值的身份验证设置
 +
*DataPortalProxy 数据门户代理提供程序设置,来自于CslaDataPortalProxy配置值
 +
*DataPortalUrl 针对远程代理的数据门户URL值,来自于CslaDataPortalUrl配置值
 +
*IsInRoleProvider IsInRole提供程序类别名,来自于CslaIsInRoleProvider配置值
 +
*AutoCloneOnUpdate 这个设置表示对象是否在更新之前通过本地数据门户被复制,这个设置来自于CslaAutoCloneOnUpdate配置值
 +
*SerializationFormatter 序列化提供程序类型名,来自于CslaSerializationFormatter配置值
 +
*PropertyChangedMode 这个设置指定PropertyChanged事件应该如何被引发(对于Windows窗体或WPF是不同的),该设置来自于CslaPropertyChangedMode配置值
 +
*ExecutionLocation 这个值指定代码当前是否正在数据门户的客户端或服务端执行
  
 
==指南==
 
==指南==
 +
 +
==项目==
 +
 +
==用户==
 +
[https://github.com/MarimerLLC/csla/blob/master/docs/Testimonials-and-Usage.md CSLA .NET is used]
 +
* Aaron Rents (running in 1200+ stores in the US and Canada)
  
 
==书籍==
 
==书籍==
*[http://product.china-pub.com/196389 《C# 企业应用开发艺术:CSLA.NET 框架开发实战》]
+
*[http://product.china-pub.com/196389 《C# 企业应用开发艺术:CSLA.NET 框架开发实战》] (ps: 本条目的一些内容取自本书)
  
 
==图集==
 
==图集==
第56行: 第114行:
 
*[http://www.cslanet.com/ CSLA .NET官网]
 
*[http://www.cslanet.com/ CSLA .NET官网]
 
*[https://github.com/MarimerLLC/csla CSLA .NET @ GitHub]
 
*[https://github.com/MarimerLLC/csla CSLA .NET @ GitHub]
 +
*[http://www.lhotka.net/weblog/ Rockford Lhotka Blog]
 +
*[http://www.lhotka.net/weblog/ASimpleFlowForUsingGitAndPullRequests.aspx A simple flow for using git and pull requests]
  
 
[[category:.NET]]
 
[[category:.NET]]

2019年8月31日 (六) 13:01的最后版本

CSLA.NET 是一个开源(MIT)的企业应用开发框架,CSLA 是 Component-based, Scalable, Logical Architecture 的缩写。

CSLA.NET是一个.NET软件开发框架,可以帮助开发者为Windows、Web、面向服务和工作流等应用构建强大和可维护的业务逻辑层。

Csla.net.png

目录

[编辑] 简介

CSLA.NET 是一款开源的(MIT)企业开发框架,用于构建你的商业逻辑和应用。

[编辑] 功能

  • 完全支持数据绑定(WPF,Silverlight,Windows Form和Web Form);
  • 对象状态追踪(对象是否为新增、修改、标记为删除等等);
  • 标准化业务和验证规则处理;
  • 在对象和属性层级的标准化授权;
  • 整合及简化、标准的.NET身份验证模型;
  • 撤销(Undo)功能,用来支持实作取消按钮,和复杂分层的用户接口(UI);
  • 标准化集成与数据存取层或ORM;
  • 加强对于业务对象的LINQ查询支持;
  • 许多的一般生产力(productivity)功能,可用于很多的企业应用解决方案中;
  • 异步数据存取,和异步验证规则。

[编辑] 好处

使用CSLA.NET能够获得的好处:

  • 智能数据:业务数据和与之关联的业务逻辑被封装在对象中,这样开发者永远不会使用原始的、不受保护的数据,所有的业务逻辑被集中在一起,从而易于维护。
  • 简单的对象创建过程:开发者使用标准的.NET面向对象的编程技术来创建业务对象。
  • 灵活的物理配置:数据访问代码可以在本地或者在应用服务器上运行,而不需要改变业务代码。
  • 对象持久化:清晰地定义包含所有数据访问代码的方法。
  • 优化的数据访问:如果对象的数据已经被改变了,那么对象只会保持它自身。我们很容易就可以在多种事务技术中选择一种,来平衡性能和功能。
  • 可选的多级撤销功能:我们能够很容易地支持复杂的WPF或者Windows窗体界面,还支持高性能的Web界面。
  • 业务规则管理:会减少需要实现业务规则和验证规则的代码。
  • 授权规则管理:会减少实现对每个属性授权所需的代码。
  • 简单的用户界面创建:完全支持WPF、Windows窗体和Web窗体的数据绑定,在创建复杂的用户界面时能够尽量减少代码。
  • 对Web服务的支持:开发者能够迅速地为应用程序创建Web服务接口,以便于其它应用程序能够直接使用应用程序的功能。
  • 自定义身份验证:易于我们在Windows集成安全措施和CSLA.NET自定义安全措施之间做出选择。也易于自定义CSLA.NET的自定义安全措施,方便使用已存在的安全数据库。不论在哪种情况下,都会使用标准的.NET安全对象,提供访问用户安全信息的标准方式。

[编辑] 命名空间

CSLA.NET框架的命名空间:

  • Csla 包含了业务开发者使用的最一般的类型
  • Csla.Core 包含了为框架提供核心功能的类型,不期望被业务开发者使用
  • Csla.Data 包含了用于数据访问操作的可选类型,通常被业务开发者、Web用户界面和Web服务开发者使用
  • Csla.DataPortalClient 包含的类型支持客户端DataPortal行为,在创建自定义数据门户代理时使用
  • Csla.Linq 包含的类型实现LINQ to CSLA功能,不期望被业务开发者使用
  • Csla.Properties 包含了Visual Studio为Csla项目生成的代码,不期望被业务开发者使用
  • Csla.Reflection 包含的类型抽象和提升对反射的使用,不期望被业务开发者使用
  • Csla.Security 包含支持授权的类型,在创建自定义安全主体对象时使用
  • Csla.Serialization 包含的代码抽象了对.NET的BinaryFormatter或NetDataContractSerializer串行化技术的使用
  • Csla.Server 包含的类型支持服务器端数据门户行为,不期望被业务开发者使用
  • Csla.Server.Hosts 包含的类型支持服务器端数据门户宿主,在创建自定义数据门户宿主时使用
  • Csla.Validation 包含的类型支持验证和业务规则的类型,通常在创建规则方法时使用
  • Csla.Web 包含CslaDataSource控件,由Web用户界面开发者使用
  • Csla.Web.Design 包含支持CslaDataSource控件的类型,不期望被业务开发者使用
  • Csla.WebServiceHost 包含了Web服务数据门户宿主,不期望被业务开发者使用
  • Csla.Windows 包含的控件帮助Windows窗体数据绑定,被Windows用户界面开发者使用
  • Csla.Worflow 包含的类型帮助使用Windows工作流基础(WF),被工作流开发者使用
  • Csla.Wpf 包含的控件帮助WPF数据绑定,由WPF用户界面开发者使用

为业务开发者所适宜哦难过的主要的基类位于Csla命名空间zi自身,它们是:

  • Csla.BusinessBase<T>
  • Csla.BusinessListBase<T, C>
  • Csla.ReadOnlyBase<T>
  • Csla.ReadOnlyLIstBase<T, C>
  • Csla.NameValueListBase<K, V>
  • Csla.CommanBase

[编辑]

Csla命名空间中主要的类:

  • ApplicationContext 该类用于访问重要的应用程序上下文信息,被框架、业务类以及用户界面代码使用
  • BusinessBase 可编辑根对象、子对象以及可切换对象继承的基类
  • BusinessListBase 可编辑根和子列表对象继承的基类
  • CommandBase 命令对象继承的基类
  • CriteriaBase 自定义条件对象继承的基类
  • DataPortal 该类向客户端公布数据门户功能
  • EditableRootListBase 动态列表对象继承的基类
  • NameValueListBase 名称/值列表对象继承的基类
  • PropertyInfo 该类为每个业务对象属性定义元数据
  • ReadOnlyBase 只读根和子对象继承的基类
  • ReadOnlyListBase 只读根和子列表对象继承的基类
  • SingleCriteria 该类为任何对象提供单值条件
  • SmartDate 该类型扩展了DateTime,添加了空日期的概念以及其他特性
  • Utilities 该类型包含其他类使用的使用工具方法

[编辑] 上下文

ApplicationContext类位于应用程序的中心位置,从这里可以访问应用程序的上下文信息。

以下是通过ApplicationContext提供的上下文信息:

  • GlobalContext 上下文数据的集合,它会从客户端流向服务端,然后从服务器流回客户端,两端上的变化会跨网络传送
  • ClientContext 上下文数据的集合,它会从客户端流向服务端,在服务端上的变化不会带回给客户端
  • LocalContext 上下文数据的结合,它只存在于当前位置(客户端或者服务端)
  • User 当前.NET安全(主体)对象,我们可以安全地访问这个值,而与运行时(ASP.NET,WPF等)无关
  • AuthenticationType 来自于CslaAuthentication配置值的身份验证设置
  • DataPortalProxy 数据门户代理提供程序设置,来自于CslaDataPortalProxy配置值
  • DataPortalUrl 针对远程代理的数据门户URL值,来自于CslaDataPortalUrl配置值
  • IsInRoleProvider IsInRole提供程序类别名,来自于CslaIsInRoleProvider配置值
  • AutoCloneOnUpdate 这个设置表示对象是否在更新之前通过本地数据门户被复制,这个设置来自于CslaAutoCloneOnUpdate配置值
  • SerializationFormatter 序列化提供程序类型名,来自于CslaSerializationFormatter配置值
  • PropertyChangedMode 这个设置指定PropertyChanged事件应该如何被引发(对于Windows窗体或WPF是不同的),该设置来自于CslaPropertyChangedMode配置值
  • ExecutionLocation 这个值指定代码当前是否正在数据门户的客户端或服务端执行

[编辑] 指南

[编辑] 项目

[编辑] 用户

CSLA .NET is used

  • Aaron Rents (running in 1200+ stores in the US and Canada)

[编辑] 书籍

[编辑] 图集

[编辑] 链接

分享您的观点
个人工具
名字空间

变换
操作
导航
工具箱