2013-11-25 29 views
0

验证模块分为#1,#2和一般如下如何执行模块的层次结构/依赖

====================================================================== 
---------------------------  --------------------------- 
| #1 Validation Sub Module|  | #2 Validation Sub Module| 
---------------------------  --------------------------- 

------------------------------------------------------------ 
|     General Validation Module    | 
------------------------------------------------------------ 
====================================================================== 

要验证的东西,一个要经过子模块,但不能直接调用通用模块。

如何强制执行(除了代码审查,最好在.NET中)没有代码应直接调用通用模块?反思!

编辑 我也试图通过软件工程的原则提供了一些解决方案,即超越任何具体的语言/平台,是否有任何的设计模式,软件设计准则或发展的做法?

+0

使通用验证模块抽象类 – Fendy

回答

1

使所有类型在通用验证模块内部。如果每个验证模块都是单独的装配体,则必须在通用验证模块装配体中使用InternalsVisibleToAttribute以允许每个验证子模块装配体访问内部成员。如果您可以将所有验证模块放入单个装配中,则不必执行此操作。

+0

嗯,虽然使用'InternalsVisibleToAttribute'将需要每次添加新程序集的名称,但它是有价值的。 – bjan

+0

问题被修改 – bjan