CSLA.NET的替代方案?

CSLA.NET的替代方案?,.net,frameworks,enterprise,.net,Frameworks,Enterprise,我的公司正在评估作为我们所有.NET企业应用程序开发的可能标准框架。为了便于比较,有人能推荐一些这方面的替代框架吗?我认为现在质疑业务逻辑框架是否真的必要是个好主意。我认为模式更有用。我个人正在研究,而不是购买一个框架/工具。在大致相同的空间中工作 有些功能也有重叠。我大体上同意尼尔的观点。您还可以查看Windows Workflow和WCF,它们类似于您自己的CSLA.NET角色。与其他技术相结合和/或混合,如: 持久性-或/毫秒: NET、实体框架、NHibernate、LLBLGen、企业

我的公司正在评估作为我们所有.NET企业应用程序开发的可能标准框架。为了便于比较,有人能推荐一些这方面的替代框架吗?

我认为现在质疑业务逻辑框架是否真的必要是个好主意。我认为模式更有用。我个人正在研究,而不是购买一个框架/工具。

在大致相同的空间中工作


有些功能也有重叠。

我大体上同意尼尔的观点。您还可以查看Windows Workflow和WCF,它们类似于您自己的CSLA.NET角色。与其他技术相结合和/或混合,如:

持久性-或/毫秒: NET、实体框架、NHibernate、LLBLGen、企业库等

持久性NoSQL解决方案: MongoDB、CoudhDB、Riak、Cassandra、RavenDB、Eloquera、D4o

DI/IoC: StructureMap、Ninject、Spring.NET、企业库

AOP: PostSharp、SNAP、Spring.NET

结合这些可以形成一个非常好的定制滚动解决方案,该解决方案可能没有学习曲线或CSLA膨胀,并且非常特定于您的问题领域(DDD/CQR可以在这里输入)


但请记住,DDD/CQR也可以与CSLA一起使用-但我更喜欢使用自定义解决方案,因为我认为它们更易于入门、维护和故障排除。

这些都不能填补CSLA的空白,事实上,您可能会将其中一种持久性解决方案与CSLA结合使用。所有这些都不提供相同级别的业务规则支持,您很可能最终会自己滚动。使用Csla有可能新员工以前使用过Csla,对于自定义解决方案,该数字下降到0。事实上,当它们组合在一起时。阅读这里的CSLA.NET:您将看到DI+POCO和一些设计模式(即装饰器、命令、存储库)可以处理CSLA所做的一切。松散耦合的应用程序可以提供同样的灵活性,甚至更多,因为您不局限于CSLA的概念和习惯用法。如果开发人员希望lol,滚动您自己的业务规则将绝对提供与CSLA相同级别的支持。如果新员工是值得的,那么应该不难理解如何使用/实现我提到的模式。您没有理解我的观点;是的,您可以使用您提到的技术滚动您自己的框架,但是仅仅在项目中引用它们并不能获得业务框架。新员工当然可以学习您的定制框架,但为什么要增加更多的学习时间让他们学习并变得有效呢?如果你使用ASP.NETMVC并雇佣我,我已经知道这一点,不需要学习它的所有习惯用法。角色您自己的mvc框架,我必须了解,除了您的实际应用程序之外,mvc是无处不在的-CSLA.net不是。我15年没有遇到过CSLA一次。CSLA不像MVC那么常见。。。因此,将有一个学习曲线与CSLA或自定义解决方案。使用我描述的技术,很容易创建一个干净的、现代的框架,实现CSLA的功能。一旦完全理解了设计模式,就很容易抽象出细节。定义良好的外观/服务的消费者应该没有任何问题。想想facebook/twitter等API——不难学,实现细节是隐藏的。顺便说一句——也许你误解了我的帖子。。。我不是说仅仅参考其他项目来做CSLA所做的事情。正如尼尔所说,这里的关键是模式。存储库(与ORM耦合)、装饰器(验证/业务逻辑)、服务层的Facade、松散耦合/可交换组件的DI等等。现在实现起来非常简单。我只是在不到一周的时间里植入了一个,很容易使用。var user=IUserService.FindById(int-id);user.Name=“我”;IUserService.Save(用户);-验证是在服务中完成的。如果一个新手不能理解这一点,不知道2 tel yaDDD本身会让你实现Csla将提供的许多相同的东西。我还认为Csla和DDD实际上非常接近,也许在具体的实现中没有,但丰富模型、有界上下文等的思想几乎是相同的。