什么设计模式更好?

当用2个对象作为参数编写函数时,比如比较函数或向量sum,什么设计模式更好?什么设计模式更好?

1)将函数写入对象类中,只取得第二个对象。

2)用一个静态函数写一个外部类,它将得到两个对象。

为什么和什么时候?

回答:

在Java中,你有Comparable.compareTo(o1)是代表一个对象的执行,并采取第二个对象作为参数:

apple.compareTo(orange); 

还有Comparator.compare(o1,o2)抽象:

他们的

comparator.compare(apple, orange); 

无已被弃用并没有一个被认为是更好的。他们在不同的场景中都使用:

  • ,如果有水果的固定,自然的“秩序”,将其放在Fruit
  • 如果有,你可以通过(尺寸,重量比较水果多种不同的方式,颜色,味道),有几个比较和一次使用你需要的任何一个。

你甚至可以将它们结合起来:只要默认顺序适合你,你就默认订购(编码在Fruit之内)。如果有一天您需要不同的订单,请选择特定的比较器。

我相信这可以扩展到其他类似的情况和语言。

回答:

恕我直言,来自.NET的背景:如果任何对象可能为空,请使用静态方法。

如果第一个(左对象)必须为非null,并且您希望使继承类可以提供它们自己的等式方法实现,请使用实例方法。

以上是 什么设计模式更好? 的全部内容, 来源链接: utcz.com/qa/259759.html

回到顶部