什么设计模式更好?
当用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