繁体   English   中英

链接同一对象的方法结果的设计模式的名称是什么?

[英]What is the name of the design pattern where you chain method results of the same object?

我已经看到了这种设计模式,但我不记得这个名字了:

class Number {
  private int myNumber;
  public Number(int arg) {this.myNumber = arg;}
  public Number add (int arg) {return new Number(myNumber + arg);}
  public Number subtract (int arg) {return new Number(myNumber - arg);}
}

因此,您使用它的方式是:

Object result = (new Number(1)).add(2).subtract(1).add(3);

关键是您可以继续将方法结果链接在一起。

我的问题是: 链接同一对象的方法结果的设计模式的名称什么?

我听说过Fluent Interface 在某些情况下,这使调试变得更加困难,整个动作链可以被视为一条语句,所以我认为:这不是一个好主意。

仅调用链中类的方法并不能使其本身成为模式。 在设计级别记录设计模式,并且这些解决方案与实现无关。 某些模式的代码和UML图看起来相似,但是由于意图不同,它们表示不同模式的实现(例如,状态和策略)。 但是在Builder模式中可以看到调用这种链来构建具有许多可选参数的排列组合可能性的对象。 原始对象是使用强制性参数创建的,并且在不破坏封装的情况下,构建器在其严格控制下根据客户端的要求对其进行了重新配置。 约书亚·布洛赫(Joshua Bloch)撰写的“有效的Java:编程语言指南”在书中演示了这种Builder模式的有效用法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM