Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 实现接口的类列表迭代设计模式_List_Design Patterns_Chain - Fatal编程技术网

List 实现接口的类列表迭代设计模式

List 实现接口的类列表迭代设计模式,list,design-patterns,chain,List,Design Patterns,Chain,当我有一个验证类列表,这些类实现了一个注入到服务中的接口,用于验证请求对象时,如果我迭代这个列表并调用每个类的方法validate,这是什么类型的o模式?所有的验证类都验证了一些东西 是某种连锁模式吗 谢谢不。假设你有一个班级委员会 @Service public class Council { @Inject private Councillor[] council; public boolean getConsensus(Act purpose) { for(Coun

当我有一个验证类列表,这些类实现了一个注入到服务中的接口,用于验证请求对象时,如果我迭代这个列表并调用每个类的方法validate,这是什么类型的o模式?所有的验证类都验证了一些东西

  • 是某种连锁模式吗

谢谢

不。假设你有一个班级委员会

@Service
public class Council {
  @Inject
  private Councillor[] council;
  public boolean getConsensus(Act purpose) {
    for(Councillor member: council) {
      if (member.vetoes(purpose)) {
        return false;
      }
    }
    return true;
  }
}
这是而不是链接,因为元素对其链接的邻居不承担任何责任。这里有一个stacktrace,它在循环中每次否决调用后都返回到方法getConsensus的相同执行


但是链式模式将执行从一个议员委托给另一个议员,让堆栈跟踪增长,每个议员一条跟踪线。如果您有200名议员,您的stacktrace将大200道。

有两种验证:1。检查是否存在有效状态和2。使某物有效的过程。你的任务是什么?我不是说验证模式,它只是一个例子。我指的是一些实现接口的类,它们彼此都不知道,它们都执行某种业务逻辑,可以是验证或做任何事情