有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

首要设计模式:何时不使用接口(特别是在Java“接口”中)

我刚刚开始阅读这本书,在策略模式中,他们不鼓励使用接口,该接口的作用只是在子类上执行一个方法的实现

然而,在下一章:观察者模式中,他们就是这么做的。其中,他们使用了一个显示界面,显示方法由具体的观察者实现

我的问题是:最后,使用这样的接口真的可以吗?如果没有,有没有更好的方法


共 (1) 个答案

  1. # 1 楼答案

    在strategy pattern示例中,我们有许多Duck子类,但只有几种不同的飞行和嘎嘎声方式,因此我们使用组合而不是继承来赋予Duck子类飞行和嘎嘎声行为

    他们提到的“维护噩梦”是,如果飞行或嘎嘎声的改变必须在许多鸭子子类中重复,而不仅仅是在一个具体的策略实现中

    在观察者的情况下,每个观察者实现都有自己希望得到通知的原因,因此不需要提取重复的代码

    当然,策略模式确实使用接口,每个接口用于嘎嘎声和飞行