NDepend程序集的指标

时间:2009-07-10 12:01:02

标签: .net code-metrics ndepend

您是否尝试为每个装配保持与主序列的距离为低?那些只包含Business Objects定义的程序集呢?是否有可能让他们远离痛苦区域?这种组件中的类型通常由其他组件使用,而且非常具体。如何处理这种情况?

1 个答案:

答案 0 :(得分:5)

我认为{保持与主序的距离较低}的目标是基于Law of Demeter。遵循此规则有助于使代码更易于理解,更易于单元测试。通过使用仅仅是数据容器的Business Objects,您可能会暴露出更多可能需要的状态并破坏封装规则。

然而,正如Fowler points out in this article所说,“虽然方法链是一种气味,但是中间人物体的相反问题是使用转发方法臃肿也是一种气味。(我一直觉得我会更舒服如果它被称为得墨忒耳的建议,则为得墨忒耳定律。)“

我认为,如果您只想传递对象包含的“内容”,例如它们如何用作数据传输对象,那么这些基本Business Objects的价值会非常有用。但是,从空数据传输对象中删除真正的Business Objects可能很重要。我认为真正的Business Objects也应该包含行为以及它们封装的数据。