【问题标题】:Is "chain of responsibity" an appropriate design pattern for validation?“责任链”是否适合用于验证的设计模式?
【发布时间】:2013-12-21 16:35:44
【问题描述】:

我有一个应用程序,我应该在同一个对象上验证不同种类的东西。所以我想到了使用责任链设计模式,问题是这个模式定义了如果链中的某个对象失败,客户端将立即得到通知,而我想去思考链中的所有对象(验证器)所以每一个都将返回结果(通过/失败+异常)。

var validator = new Validator(dataObject)
validator.Validate();

这是可接受的用例还是有更好的方法?

【问题讨论】:

    标签: validation design-patterns language-agnostic


    【解决方案1】:

    由于根据您的要求进行的验证不应该提前返回,因此这不像是一个,而是一个列表。这可以简单地迭代并行处理

    装饰器也可以用来组合验证器。

    【讨论】:

    • Jens,感谢您修复标题。我不擅长给标题。我了解了我一年以来所做的设计清单,或多或少地回到了同样的问题,但我不知道装饰师会给我什么?你能解释一下吗?
    • 嗯,简而言之,答案是herethis question 的答案看起来也很有趣。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-12
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多