gpt4 book ai didi

c# - 接口(interface)的好案例

转载 作者:可可西里 更新时间:2023-11-01 08:30:05 25 4
gpt4 key购买 nike

我在一家公司工作,其中一些人要求在我们的代码 (Visual Studio C# 3.5) 中使用接口(interface)的理由。

我想问一个铁定的推理,接口(interface)是必需的。 (我的目标是证明接口(interface)是编程的正常部分。)

我不需要说服力,我只需要一个好的论据来说服别人。

我正在寻找的论点是基于事实的,而不是基于比较的(即“因为 .NET 库使用它们”是基于比较的。)

因此,反对他们的论点是:如果一个类被正确设置(具有其公共(public)和私有(private)成员),那么接口(interface)只是额外的开销,因为那些使用该类的人仅限于公共(public)成员。如果您需要一个由多个类实现的接口(interface),那么只需设置继承/多态性。

最佳答案

代码解耦。通过对接口(interface)进行编程,您可以将使用接口(interface)的代码与实现接口(interface)的代码分离。这允许您更改实现而不必重构所有使用它的代码。这与继承/多态性结合使用,允许您互换使用许多可能的实现中的任何一个。

模拟和单元测试。当方法是虚拟的时,模拟框架最容易使用,默认情况下通过接口(interface)获得。这实际上是我创建界面的最大原因。

定义可能适用于许多不同类的行为,允许它们可以互换使用,即使类之间没有关系(除了定义的行为)。例如,Horse 和 Bicycle 类可能都有一个 Ride 方法。您可以定义一个接口(interface) IRideable 来定义 Ride 行为,任何使用此行为的类都可以使用 Horse 或 Bicycle 对象,而不会在它们之间强制进行不自然的继承。

关于c# - 接口(interface)的好案例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1335586/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com