raf*_*fek 2 .net ndepend code-metrics
您是否尝试将每个组件的主序距离保持在低位?那些只包含Business Objects定义的程序集呢?是否有可能让他们远离疼痛区?这种组件中的类型通常由其他组件使用,而且非常具体.如何处理这种情况?
我认为{保持与主序的距离较低}的目标是基于得墨忒耳定律.遵循此规则有助于使代码更易于理解,更易于单元测试.通过使用仅仅是数据容器的Business Objects,您可能会暴露出更多可能需要的状态并破坏封装规则.
然而,正如福勒在这篇文章中所指出的那样,"虽然方法链是一种气味,但是中间人物体的相反问题是使用转发方法臃肿也是一种气味.(我一直觉得我对法律更加满意Demeter如果被称为Demeter的建议.)"
我认为,如果您只想传递对象包含的"内容",例如它们如何用作数据传输对象,那么这些基本Business Objects的价值会很有用.但是,从空数据传输对象中删除真正的Business Objects可能很重要.我认为真正的Business Objects也应该包含行为以及它们封装的数据.
| 归档时间: |
|
| 查看次数: |
281 次 |
| 最近记录: |