似乎对以下类型的需求如此普遍,以至于它应该已经内置在Java中:

public interface Executer<T> {
   void execute(T object);
}

然后可以在其他类中使用它,例如这个琐碎的示例,它在一个对象上调用一堆执行程序。
class Handler<T> implements Executer<T> {
   List<Executer<T>> executerList;

   Handler(List<Executer<T>> executer) {
      this.executerList = executer;
   }

   void execute(T t) {
      for (Executer<T> executer : this.executerList) {
         executer.execute(t);
      }
   }
}

是否有等效的内置类型或等效的公共(public)库?这个概念有名字吗?

最佳答案

我认为这个概念的名称是strategy pattern。有效地封装了一种算法,这使将一种策略换成另一种策略或应用多种策略变得更加容易。

这种设计模式非常容易实现,并且execute方法不需要仅接受特定类型的单个参数。因此,我怀疑您会找到内置的Java类型,但这是一种众所周知的设计模式。

关于java - 有内置的Java类型可以保证execute(T t)方法吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9007008/

10-09 12:36