返回列表 發帖

含太多的实现可能

车辆可以驾驶、飞行或游泳 所以让我们从实现车辆接口开始: 然后让我们继续实施特定的车辆。在此示例中,这些将是汽车、船舶和飞机这三个类别: 乍一看,您可以看到这种 接口的构造带来了多大的问题,因为它需要实现 、 和 方法。众所周知,汽车只能行驶,因此在 和 方法中它会抛出异常并带有适当的消息, 类的工作方式相同,因为船只能游泳,并且也必须为其他方法抛出异常。

对于飞机,两种方法都是合理的,因为飞机既可以在起落架上飞行,也可以在空中飞行,但对于 方法,必须抛出异常。此类代码违反了接口隔离原则,因为 接口不是专门化的,并且强制实现并非所有类都需要的方法。这个接口太 C级联系人列表 通用并且包性。 那么我们如何更改代码,使其满足接口隔离原则,同时允许实现汽车可以行驶、轮船可以游泳、飞机可以驾驶和飞行呢? 这些活动中的每一个都应该被分成一个单独的接口,以便实现可以根据需要的活动选择它实现的接口。



因此,让我们创建三个适当的接口 、 和 : 以这种方式设计的接口是专门的,并且具有术语,根据这些术语我们能够确定它们到底负责什么。我们已经正确组织了接口,现在每辆车只需实现其真正需要的功能就足够了。那么让我们看看 、 和 类的改进实现: 感谢接口隔离原则,我们的代码变得更短更简单。我们不必抛出多余的异常,我们只实现那些从特定类的角度来看是必要的方法。

返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |