验证模块分为#1,#2和General,如下所示
======================================================================
--------------------------- ---------------------------
| #1 Validation Sub Module| | #2 Validation Sub Module|
--------------------------- ---------------------------
------------------------------------------------------------
| General Validation Module |
------------------------------------------------------------
======================================================================
要验证某些内容,必须通过子模块,但不能直接调用常规模块。
如何强制执行(除了代码审查,最好是在.NET中)没有代码应该直接调用General模块?反思!!!
修改 我也在寻求软件工程原理提供的一些解决方案,即超出语言/平台特定的任何解决方案,那么是否有任何设计模式或软件设计指南或开发实践?
答案 0 :(得分:1)
使一般验证模块中的所有类型都在内部。如果每个验证模块都是单独的程序集,则必须使用通用验证模块程序集中的InternalsVisibleToAttribute来允许每个验证子模块程序集访问内部成员。如果您可以将所有验证模块放入单个程序集中,则不必执行此操作。