chain-of-responsibility

    0热度

    1回答

    我有一组上的业务逻辑验证的要求: 验证的每个独立步骤必须分开; 这些步骤的顺序可以由管理员定义; 可以禁用步骤。 每个验证步骤不是用户定义的 - 即代码是编译的。 所以我想实现一个动态的责任链,它会从表中载入步骤顺序和类名,用Class.forName()实例化它们。但我不喜欢将className存储在表中,因为这可能会导致潜在的问题(重构验证器的名称,例如,会简单地破坏代码)。这是我做的: 当然

    0热度

    1回答

    我与命名空间,类,继承和使用JavaScript的责任链模式工作的JavaScript链,但它不工作 - 我已经试过以下this tutorial,但是当我尝试要实现一个名称空间和超级构造函数,它不起作用,所以我假设我错过了一些东西。 我在不同的文件中的类,我用的是相同的命名空间。我有一个类,Constraint.js: var Namespace = Namespace || {}; //p

    9热度

    2回答

    考虑你有几个验证。如果要检查的对象属于某种类型,那么这些验证只应生效。为什么我会使用switch语句的责任链?与责任的 public class Executor { @Inject private ValidatorFactory validatorFactory; public void execute(Konfiguration konfig) { List<Statem

    2热度

    1回答

    我想通过搜索Servicer类字符串中的字符/字符串来演示责任链模式的使用。代码运行但Servicer1 ServiceReq未调用Servicer2 ServiceReq。如果我用“g”运行这个,我只会得到“Checked Servicer1”,但我应该得到“Checked Servicer1”“”在Servicer 2中找到请求“。 MainApp.cs namespace ChainOfR

    0热度

    1回答

    我有一个创建文本文件处理策略的引擎。这些文件采用各种格式,引擎通过将文件传递给一系列策略来选择适当的策略,直到其中一个策略声明它可以解析它。 这不是经典的战略模式。它与服务定位器模式和责任链模式有些相似,并可能包含其中的任何方面。 剥离下来,它看起来有点像这样,尽管它目前与注射创建: public class EngineImpl { private Set<Strat> str

    1热度

    1回答

    我看到一个教程视频解释责任链设计模式,我想我明白它是如何工作的,但我不确定何时会真正使用它。责任链的一些常见用法是什么?

    5热度

    1回答

    我正在探索python中的不同概念,并且偶然发现了一个可用于责任设计模式链的协程的例子。我写了下面的代码: from functools import wraps def coroutine(function): @wraps(function) def wrapper(*args, **kwargs): generator = function(*args,

    0热度

    2回答

    我在学习设计模式以在代码中实现它,我想我找到了一个我认为可以工作但存在一个主要缺陷的设计模式。 我结束的模式是职责链模式。根据我的理解,有一个请求传递给一个处理程序,它将处理请求或将其传递给链。 我看到的唯一一个结果是它指定一旦处理程序处理了,处理就停止。我想要一些能够持续发展的东西,并给予每个处理程序处理请求的机会。 问题陈述 我创建它会发送发票到公司的应用程序,我想知道是谁所有的都看了看发票,

    2热度

    2回答

    因此,当我是一名电工和程序员时,我认为我非常了解FSM设计模式。它是: 我们已经设置了一个Nodes, 每个Node知道,做什么,什么时候计划是在这个节点上, 每个Nodecontains references to another chosen nodes,什么条件下都知道,他应该继续被选中的人。 在event或after processing节点,Node proceeds下一个选择的节点 我

    0热度

    2回答

    我有一个过滤器列表。每个过滤器都有不同的责任并接受各种输入参数。接口看起来是这样的: void doFilter(Context context); 和我一起运行它: void main(){ context.setA(input_for_filter_a); context.setB(input_for_filter_b); context.setC(input