【问题标题】:Whither NetTiers?NetTiers 去哪儿了?
【发布时间】:2011-11-21 23:52:38
【问题描述】:

我在一两个工作之前在许多项目中使用过 NetTiers。我发现它对于在 ASP.NET 网络表单中生成后端接口非常有用。业务和数据层也很不错。我通常使用 NHibernate,但我认为就运行所需的时间而言,在这些特定项目上可能有点过分了。

从那时起,我一直在从事几乎所有内容都面向最终用户的项目。然而,我最近得到了一个附带大量后端管理内容的项目,我想知道 NetTiers 是否仍然像几年前一样维护良好和干净。它似乎没有,但我不知道这是否意味着它实际上已被遗弃,或者它是否只是被转移到其他地方。或者是否有其他产品(最好是一组 CodeSmith 模板)可能更适合我?我真正需要的是一个干净的 ActiveRecord 模型,它可以访问后端的 SQL 数据库,并为我的大多数模型对象生成简单的用户界面用于 CRUD 屏幕。我需要一些能够深度加载对象图的东西,就像 NetTiers 一样。

有什么建议吗?

【问题讨论】:

    标签: orm .nettiers


    【解决方案1】:

    我目前正在支持一个大型 NetTiers 应用程序,我的经历通常令人沮丧。我继承了该项目并接管了模板的维护,修复了模板中的一些错误并将一些后生成脚本应用于生成的文件。恕我直言,生成的代码过于冗长,存在大量重复,并且会受益于更多地使用泛型。我正在使用的模板没有正确处理资源(较新的模板版本可能更好)。有一次我考虑升级到更新的版本,但练习的规模让我望而却步。很难找到有用的文档,而且获得 NetTiers 问题的答案也不是很简单。我的总体印象是逐渐下降。

    如果您只是在使用用于从 SQL 数据库生成 UI 的简单 .Net 堆栈,我建议您查看带有 MvcScaffolding 和实体框架的 ASP.NET MVC3。为 DI 添加AutoMapperMunq

    【讨论】:

    • 我认为NHibernateFluent NHibernateNHibernate Mapping Generator 对于简单到大型项目来说已经足够了。小型项目有快速增长的趋势 :-) 最近帮助了一个由 .NetTiers 引起的客户 diagnose a memory leak,并且可以证明 "tears" 部分。
    • 我完全同意上面的答案。即使是企业规模的数据库,这些工具也能正常工作,但其高度过时的模板质量很差,存在大量错误、不直观的界面、严重的设计缺陷和严重的深度加载。性能方面也并不令人惊讶,这要归功于列表管理非常糟糕并提到了 deepload/deepsave。任何级别的配置和覆盖都有很大的潜力,但是代码重复的代价是巨大的,可以通过更好的设计轻松限制。
    【解决方案2】:

    我们已经使用 NetTiers 好几年了。我认为对于第一次使用的用户来说,就生成的东西的数量而言,它往往看起来势不可挡,并且 DeepLo​​ad 功能和循环性存在一些限制。我也觉得最近没有太多更新,但总的来说,我在使用 Nettiers 和 codesmith 时获得了很棒的体验,而且在我尝试过的所有尝试中,它显然是我们最喜欢的,并且极大地提高了生产力。我们使用视图、自定义 sp、索引等。

    在对另一个回复的评论中:我们已经尝试过 Automapper,但由于当对象的结构发生变化时它会默默地失败,所以我们放弃了它。并从实体框架中移出,因为我们不喜欢手动编码我们的 DAL。 :)

    【讨论】:

    • RE:AutoMapper - AssertConfigurationIsValid()
    猜你喜欢
    • 1970-01-01
    • 2011-03-03
    • 2014-03-15
    • 2015-07-17
    • 2012-10-30
    • 2013-05-23
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多