標題:
含太多的实现可能
[打印本頁]
作者:
parvej674
時間:
2023-12-21 11:42
標題:
含太多的实现可能
车辆可以驾驶、飞行或游泳 所以让我们从实现车辆接口开始: 然后让我们继续实施特定的车辆。在此示例中,这些将是汽车、船舶和飞机这三个类别: 乍一看,您可以看到这种 接口的构造带来了多大的问题,因为它需要实现 、 和 方法。众所周知,汽车只能行驶,因此在 和 方法中它会抛出异常并带有适当的消息, 类的工作方式相同,因为船只能游泳,并且也必须为其他方法抛出异常。
对于飞机,两种方法都是合理的,因为飞机既可以在起落架上飞行,也可以在空中飞行,但对于 方法,必须抛出异常。此类代码违反了接口隔离原则,因为 接口不是专门化的,并且强制实现并非所有类都需要的方法。这个接口太
C级联系人列表
通用并且包性。 那么我们如何更改代码,使其满足接口隔离原则,同时允许实现汽车可以行驶、轮船可以游泳、飞机可以驾驶和飞行呢? 这些活动中的每一个都应该被分成一个单独的接口,以便实现可以根据需要的活动选择它实现的接口。
因此,让我们创建三个适当的接口 、 和 : 以这种方式设计的接口是专门的,并且具有术语,根据这些术语我们能够确定它们到底负责什么。我们已经正确组织了接口,现在每辆车只需实现其真正需要的功能就足够了。那么让我们看看 、 和 类的改进实现: 感谢接口隔离原则,我们的代码变得更短更简单。我们不必抛出多余的异常,我们只实现那些从特定类的角度来看是必要的方法。
歡迎光臨 星界天使RO (http://angelrogm.go1.tw/)
Powered by Discuz! 7.2
一粒米
|
中興米
|
論壇美工
| 設計
抗ddos
|
天堂私服
|
ddos
|
ddos
|
防ddos
|
防禦ddos
|
防ddos主機
|
天堂美工
| 設計
防ddos主機
|
抗ddos主機
|
抗ddos
|
抗ddos主機
|
抗攻擊論壇
|
天堂自動贊助
|
免費論壇
|
天堂私服
|
天堂123
|
台南清潔
|
天堂
|
天堂私服
|
免費論壇申請
|
抗ddos
|
虛擬主機
|
實體主機
|
vps
|
網域註冊
|
抗攻擊遊戲主機
|
ddos
|