限制违反体系结构-asp.net MVP
如果我们在应用程序中定义了层次结构。对于3层架构,我们如何限制后续开发人员违反规范 例如,如果是MVP(而不是asp.net MVC)体系结构,演示者应该始终绑定模型和视图。这有助于编写适当的单元测试程序。然而,我们有一些实例,人们直接导入视图中的模型,调用违反规范的函数,因此无法正确编写测试用例限制违反体系结构-asp.net MVP,asp.net,mvp,Asp.net,Mvp,如果我们在应用程序中定义了层次结构。对于3层架构,我们如何限制后续开发人员违反规范 例如,如果是MVP(而不是asp.net MVC)体系结构,演示者应该始终绑定模型和视图。这有助于编写适当的单元测试程序。然而,我们有一些实例,人们直接导入视图中的模型,调用违反规范的函数,因此无法正确编写测试用例 有没有办法限制哪些类可以从一组类继承?我正在考虑各种可能性,包括采用不同的设计模式,但是一种新的方法应该值得更改所涉及的代码。您想用软件解决人员问题吗?为痛苦的世界做好准备 解决问题的方法是确保你有与
有没有办法限制哪些类可以从一组类继承?我正在考虑各种可能性,包括采用不同的设计模式,但是一种新的方法应该值得更改所涉及的代码。您想用软件解决人员问题吗?为痛苦的世界做好准备 解决问题的方法是确保你有与人共事的方法,而不是以这些问题告终。。。。结对编程/审查。人员首次进入项目时的入职培训等
话虽如此,您可以编写分析软件和查找常见问题的工具。但是人们很有创造力,可以找到各种奇怪的做事方式。只要一切都按照你的满意程度锁定,新的需求就会到来,你就必须突破它 考虑到程序员可以通过反射访问所有私有成员,在.NET编程级别强制执行这种严格性几乎是不可能的
做好自己的工作,支持并安排定期的代码审查,提供教育并实施适当的培训。而且,正如您所说,当您无法针对它编写单元测试时,它将很快变得明显 恐怕这是不可能的。我们试图借助属性来实现这一点,但没有成功。你可以参考我的意见 您所能做的最好的事情就是继续使用检查程序集。NDepend向您显示项目中程序集的依赖关系图,您可以立即跟踪冲突并采取反应性措施
(来源:)我发布这个问题已经快三年了。我必须说,尽管这里有精彩的答案,我还是尝试过探索这一点。到目前为止我学到的一些教训-
- 构造函数中的参数数量是依赖项数量的直接指示。太多依赖项=>类执行的操作太多
- 类中的(公共)方法数
- 单元测试的设置几乎总是会泄露这一点
哦,我感觉到了疼痛,好吧!!!如果有某种框架/工具可以分析/验证某些体系结构规则,我想没有捷径可以进行审查,呃?好吧,通过分离组件并使视图完全独立于模型,因此,演示者提供了视图处理的所有对象,您可以验证视图是否未使用模型。但这比它的价值更痛苦。大多数情况下。但这可能会把你的问题转移到其他地方。。。。介绍更多关于如何在您喜欢的体系结构风格中工作的培训have@this.__curious_geek:谢谢你给我指点NDepend。我要去看看。酷尼克顺便说一句,你能回答吗?