我有一个应用程序,我应该在同一对象上验证不同类型的事物。所以我想到使用责任链设计模式,问题是这种模式定义了如果链中的某个对象失败,客户端将立即收到通知,而我想考虑链中的所有对象(验证器),这样其中每一项都会返回结果(通过/失败+异常)。
var validator = new Validator(dataObject)
validator.Validate();
这是可接受的用例还是有更好的方法吗?
最佳答案
由于根据您的要求进行的验证不应提前返回,因此这不太像一个链,而是一个列表。可以简单地迭代或并行处理。
装饰器也可以用于组合验证器。
关于validation - "chain of responsibity"是适合验证的设计模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20721149/