Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 3|回復: 0

强制实现并非所有类都

[複製鏈接]

1

主題

1

帖子

5

積分

新手上路

Rank: 1

積分
5
發表於 2024-3-21 11:50:43 | 顯示全部樓層 |閱讀模式
使用示例 举个例子让我们假设我们想要实现各种类型的车辆以及这些车辆可以使用类生成的行为。车辆可以驾驶飞行或游泳 所以让我们从实现车辆接口开始 然后让我们继续实施特定的车辆。在此示例中这些将是汽车船舶和飞机这三个类别 乍看您可以看到这种 接口的构造带来了多大的问题因为它需要实现  和 方法。众所周知汽车只能行驶因此在 和 方法中它会抛出异常并带有适当的消息 类的工作方式相同因为船只能游泳并且也必须为其他方法抛出异常。对于飞机两种方法都是合理的因为飞机既可以在起落架上飞行也可以在空中飞行但对于 方法必须抛出异常。

此类代码违反了接口隔离原则因为 接口不是专门化的并且需要的方法。这个接口太通用并且包含太多的实现可能性。 那么我们如何更改代码使其满足接口隔离原则同时允许实现汽车可以行驶轮船可以游泳飞机可以驾驶和飞行呢? 这些活动中的每个都应该被分成个单独的接口以便实现可以根据 奥地利电报号码数据 需要的活动选择它实现的接口。 因此让我们创建三个适当的接口  和  以这种方式设计的接口是专门的并且具有术语根据这些术语我们能够确定它们到底负责什么。我们已经正确组织了接口现在每辆车只需实现其真正需要的功能就足够了。



那么让我们看看  和 类的改进实现 感谢接口隔离原则我们的代码变得更短更简单。我们不必抛出多余的异常我们只实现那些从特定类的角度来看是必要的方法。每辆车根据它可以执行的操作来实现这样的接口。因此该界面描述了给定的车辆及其功能。 概括 接口隔离原则是最简单的 原则之但在应用中与其他原则样重要。它提供了许多好处例如代码顺序缺少不受支持的方法以及专门的抽象。让我们记住我们通常从般到具体对代码进行建模即我们第眼就设计抽象和接口。这就是为什么当我们开始设计系统时这个原则如此重要 它将主要基于接口。

回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|GameHost抗攻擊論壇

GMT+8, 2025-4-5 10:26 , Processed in 0.038122 second(s), 18 queries .

抗攻擊 by GameHost X3.4

© 2001-2017 Comsenz Inc.

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