我正在根据这些假设编写一些验证代码:
- Validation code must be in an external class
- The same object can be validated in different ways
- 例如仅验证语法;针对数据库查找进行验证;验证是否存在重复项; ETC
- Validation output can be different depending on what needs it
- 例如输出一条错误消息;输出所有验证错误的列表;类似,但采用 JSON 格式并包含错误代码; ETC
哪种 OO 设计模式组合最能解决这个问题?工厂可能是获得特定验证器的好方法,但他们是更好的方法吗?
一种尺寸并不适合所有!让它变得简单!
为验证器提供通用方法/接口来输出数据、对警告进行分类、过滤/处理多次引发的警告。不要创建任何复杂的验证方法本身,至少在编写一些代码之前不要创建现实生活验证器。
让开,让验证者做他们应该做的事情:
for validator in all_validators:
validator.validate(model)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)