|
Post by account_disabled on Feb 1, 2024 10:23:43 GMT
在此示例中这些将是汽车船舶和飞机这三个类别 乍看您可以看到这种 接口的构造带来了多大的问题因为它需要实现 和 方法。众所周知汽车只能行驶因此在 和 方法中它会抛出异常并带有适当的消息 类的工作方式相同因为船只能游泳并且也必须为其他方法抛出异常。对于飞机两种方法都是合理的因为飞机既可以在起落架上飞行也可以在空中飞行但对于 方法必须抛出异常。此类代码违反了接口隔离原则因为 接口不是专门化的并且强制实现并非所有类都需要的方法。 这个接口太通用并且包含太多的实现可能性。 那么我们如何更改代同时允许实现汽车可以行驶轮船可以游泳飞机可以驾驶和飞行呢? 这些活动中的每个都应该被分成个单独的接口以便实现可以根据需要的活动选择它实现的接口。 因此让我们创建三个适当的接口 和 以这种方式设 电话数据 计的接口是专门的并且具有术语根据这些术语我们能够确定它们到底负责什么。我们已经正确组织了接口现在每辆车只需实现其真正需要的功能就足够了。 那么让我们看看 和 类的改进实现 感谢接口隔离原则我们的代码变得更短更简单。我们不必抛出多余的异常我们只实现那些从特定类的角度来看是必要的方法。每辆车根据它可以执行的操作来实现这样的接口。因此该界面描述了给定的车辆及其功能。 概括 接口隔离原则是最简单的 原则之但在应用中与其他原则样重要。它提供了许多好处例如代码顺序缺少不受支持的方法以及专门的抽象。让我们记住我们通常从般到具体对代码进行建模即我们第眼就设计抽象和接口。
|
|