我已经开始在开发框架中使用方面进行参数验证。它工作得很好,我喜欢不使用验证码乱丢公共方法的前半部分。
我想知道的是,如果有人对命名空间结构中的哪个位置进行参数验证有任何建议?我的一部分认为,因为它是顶级功能,所以它应该位于顶级产品命名空间中 - 就像在.NET Framework中使用System的方式一样。我只是担心核心组件膨胀会有更多这样的功能,因为它会越走越远。
现在看来,我有类似的东西:
[公司]。[产品] .ParameterValidators
在此示例中,ParameterValidators是包含功能的类(方面)的名称。
除此之外,如果有人进一步建议将方面纳入与结构放置相关的现有代码库,我将不胜感激。
答案 0 :(得分:1)
目前您正在考虑使用技术标准进行分区,即“将所有验证器放在命名空间中,因为它们是验证器”。这没有考虑验证器存在的原因。
我的建议是按功能划分:
通用验证器(例如无效和范围检查)使用通用命名空间。
更具体的验证器(例如CustomerValidators)会进入更具体的命名空间。
一般的想法是你没有一个包含所有可能的验证器的类,你有几个类(在不同的命名空间中),每个类都因特定原因声明验证。