命名空间组织 - AOP验证器

时间:2008-12-01 17:14:47

标签: architecture aop cross-cutting-concerns

我已经开始在开发框架中使用方面进行参数验证。它工作得很好,我喜欢不使用验证码乱丢公共方法的前半部分。

我想知道的是,如果有人对命名空间结构中的哪个位置进行参数验证有任何建议?我的一部分认为,因为它是顶级功能,所以它应该位于顶级产品命名空间中 - 就像在.NET Framework中使用System的方式一样。我只是担心核心组件膨胀会有更多这样的功能,因为它会越走越远。

现在看来,我有类似的东西:

[公司]。[产品] .ParameterValidators

在此示例中,ParameterValidators是包含功能的类(方面)的名称。

除此之外,如果有人进一步建议将方面纳入与结构放置相关的现有代码库,我将不胜感激。

1 个答案:

答案 0 :(得分:1)

目前您正在考虑使用技术标准进行分区,即“将所有验证器放在命名空间中,因为它们是验证器”。这没有考虑验证器存在的原因

我的建议是按功能划分:

  1. 通用验证器(例如无效和范围检查)使用通用命名空间。

  2. 更具体的验证器(例如CustomerValidators)会进入更具体的命名空间。

  3. 一般的想法是你没有一个包含所有可能的验证器的类,你有几个类(在不同的命名空间中),每个类都因特定原因声明验证