接触CSLA框架的感觉

  也不知道整天忙什么,一直想学习这个框架(CSLA),但还是没有把进度提上来,零星的学习了一些,就学到多少写多少了,呵呵。今天想把从框架中学习到的一些思想来写一下,希望对大家有所帮助,当然只是我的初步见解,还望与大家多多交流学习。

  首先对于框架内部自己感觉很重要的一个就是对象的状态管理,IsNew,IsDelete,IsDirty等一些状态,它们可以跟踪对象,在一些时候可以起到很好的帮助,当然它们也可以简化一下应用到我们的应用程序中来对对象进行维持状态,来控件当前页面或控件的状态以及提交过程中根据对象状态来控制是增加操作还是更新操作,在这里我感觉很有帮助,把程序代码更简化和透明化,也更好的把状态封装在对象中。

  再就是对象的关系,我指的是父对象与子对象的关联,在CSLA中,子对象是不可以独自操作的(除非是可转换对象),它必须依赖于父对象的创建、更新等操作,虽然在现实开发中(非CSLA)可能没有这种很紧的依赖关系,但这种父子类关系有时候能更好的解决一些问题,比如在页面中整个页面可以看作是一个父类对象,在父类中有关系的一些子类对象,也可能是子类对象集,我们操作关联子类时可以把它们直接暂存在父类中,至于用什么样的方式来存储它们(session/viewstate等)可以根据情况来选择,配合对象的状态来对子类进行增删改查,最后在对父对象,也就是对页面信息进行提交时把封装有子对象/集的父对象信息传递到处理数据的方法中,显然这时候对象的状态管理显得更为重要,它们决定了父对象以及子对象是要进行增加还是修改或删除,当然这种批量处理最好放在一个事务中来达到数据准备性与一致性。当然在CSLA框架中对于事务处理更为方便,给方法添加一个属性即可(太**了)。

  一个好的思想,还是对于父子对象的操作,这里说的是查询时,在把父对象查询出来时也可以把子对象/集一块查询出来,在框架的例子中它是通过存储来返回两个DateReader,通过数据集的NextResult()方法来进行子对象的加载过程,当然,子对象会负责对它自身数据的填充,它可以接收这个数据流,我想这样做效率不会很差,反正自己感觉这种实现非常巧妙(没见过世面,哈哈)。当然对于数据量非常大的还是要小心的!!!

  在学习过程中,对于业务对象的验证过程感觉很爽,应用框架做了一个小win程序,对于字段的有效性的验证感觉非常方便,不用把太多代码写在页面底下,在业务中应用统一的封装形式来进行字段的有效性管理,还对失败业务对象进行跟踪,特别是在里面它通过委托来进行验证方法声明的统一性,我想这都是可以学习和借鉴的富贵知识。

  起初最吸引我的功能是N层的撤消功能,不会自己编写太多代码,通过继承关系把所有的操作封装在父类中,所有的继承过的业务对象都具有了此功能!!太强大了。

  一些专业性的语言不太会表述,这只是自己从中学习到一点,希望可能和大家一块学习,可以加我QQ:496195435。声明下我是初学!更多的是????哈哈

转载于:https://www.cnblogs.com/quluqi/archive/2010/01/11/1644355.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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)功能,可用于很多的企业应用程序方案中 异步数据存取,和异步验证规则   支持的平台有: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开发框架
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值