代码之家  ›  专栏  ›  技术社区  ›  miPwn

实现c业务对象(csla)

  •  2
  • miPwn  · 技术社区  · 15 年前

    我们将致力于将rocky lhotka的csla作为visual studio 2008解决方案的应用程序开发框架来实现。我想在so上测试一下water,并特别感兴趣的是,与其他orms(如entity framework或nhibernate)相比,开发人员对该方法的看法。

    另外,学习曲线是什么样的?维护使用这种方法编写的应用程序是否像我听说的那样容易?

    也很有兴趣听取任何执行这一规定的公共部门(特别是政府机构)的意见。

    谢谢,

    马斯

    5 回复  |  直到 14 年前
        1
  •  4
  •   Blake Niemyjski    14 年前

    csla的学习曲线并不太差,但要准备花点时间在书中阅读。我们通过为您生成一个DAL(参数化SQL或存储过程支持)为您处理了许多学习曲线,因此它给CSLA添加了一个ORM感觉,因为它为您管理DAL(如果您选择的话)。但你完全可以把它当作一组bo模板。我发现,活动生成使升级到csla的新版本和添加功能变得更加容易,而不需要很强的中间类。

    谢谢 -Blake Niemyjski(作者 CodeSmith CSLA Templates )

        2
  •  8
  •   Anand Patel    15 年前

    csla不是orm框架。它是实现业务对象的框架。但是,有一些代码生成器可以为您生成数据访问代码。csla框架基于活动记录模式。这种模式不适用于大型项目。在我看来,你应该实现一个原型。原型的目标应该是:

    1. 定义分层方案
    2. 类的单元可测性
    3. 框架如何与其他框架配合良好
    4. 如何与其他或映射工具配合
    5. 学习曲线

    如果你对以上项目的评价是肯定的,那就去做吧。简而言之,使用这样一个框架应该有适当的理由。你不应该听别人的劝告,而应该自己试试。

        3
  •  2
  •   Rubens Farias    15 年前

    我喜欢CSLA。

    我用它来实现一些asp.net 2.0应用程序,一些非常大的应用程序。这很容易理解(在理解了根对象、子对象和可切换对象之后),但是您将在很大程度上依赖代码生成(比如codesmith)。

    主要问题是:你需要 CSLA ?你喜欢什么功能,或者你只需要使用一些orm?今天,我正在用ado.net实体框架编写新的应用程序 多产的 比CSLA。

    请记住,csla不是一个方法学,而是一个工具:你需要理解它,并在适当的时候调整它。

        4
  •  2
  •   fuzzbone    14 年前

    csla是一个业务对象框架。处理数据访问有很多策略,orm和数据访问之间有很多重叠。在数据访问层中使用linq to sql简化开发,我已经取得了很多成功。我认为这是一种对您有用的方法,特别是考虑到(基于您的评论)您同时支持sql server和oracle的需要。

    洛奇的书和www.lhotka.net上的样本中都详细记录了使用单独的dal。

    就tfs而言,它是一个用于源代码控制、项目管理和构建自动化的alm工具。您需要像其他任何代码一样将csla源代码置于源代码控制之下。最简单的方法是在解决方案中包含csla。

    另一种方法是单独编译它,并在项目中使用对csla.dll的文件引用。在tfs自动生成中,有一个属性组,您可以将该dll的路径放在生成服务器上。

    最后Rocky在他的网站上出售CSLA培训视频 http://download.lhotka.net/default.aspx?t=Core38

        5
  •  1
  •   WhiteWaterCoder    15 年前

    您可以在下面的广播中查看rocky对soa的想法:

    http://www.slickthought.net/post/Minneapolis-Developer-Roundtable-Podcast---Talking-REST.aspx

    您需要了解的主要内容是csla是一个业务框架。尽管orms可以为您提供基本的验证(和其他)功能,但它们并不能真正弥补缺乏可靠业务层的不足。当然,您可以在csla中使用orm(csla示例中有一个使用ef的示例,我相信在csla contrib项目中使用nhibernate作为示例),但是这些技术只是免费的。

    学习曲线…那就看你了。我发现很容易开始。我认为如果你对oo有一个很好的理解,那么你应该很快就能得到一些基本的东西。最近发布的视频也很好的让你开始。