【问题标题】:What is the use of interface in projects except the use of loosely coupling? [closed]项目中接口除了使用松耦合还有什么用? [关闭]
【发布时间】:2012-03-04 21:27:36
【问题描述】:

项目中接口除了使用松耦合还有什么用? 在将其作为参数传递时是否会减少内存使用量? 请详细列出优点。

【问题讨论】:

  • 这是一个家庭作业问题吗? (此外,接口本身对内存或 CPU 性能几乎没有影响。)
  • 你会在网上找到很多解释,只要谷歌“编程接口优势”......同样重复stackoverflow.com/questions/1035632/…
  • 深入列出优点根据你自己简洁的问题有点霸道。

标签: c# oop


【解决方案1】:

我认为你应该看看 oop 示例,特别是 Design pattern whihc 可以帮助你理解为什么要使用接口..

【讨论】:

    【解决方案2】:

    对接口进行编程的另一个重要优点是它提供了一种多态性方法。如果我有一个 IShape 集合,并且 IShape 提供了 CalculateArea() 方法,我可以通过添加 IShape 的新实现来为项目提供新形状。所以,是的,这通过遵守the open/closed principle 提供了更松散的耦合。但是,它也允许客户抽象地处理 IShape,而无需知道它是哪个特定的 IShape。

    多态性是面向对象设计的基础,而接口是实现这一点的一种方式(另一个是继承)。

    我还要指出,接口实现往往在代码意图方面具有表现力。如果我有一些声明,例如:

    public class Foo : IDisposable, IPersistMyselfToDisk, IRaiseUpdateEvents
    

    我可以一目了然地了解该类及其功能——如果我只是将该功能隐藏在该类的细节中,我就可以做到这一点。同样,这在某种程度上可以追溯到脱钩,但它也独立存在。

    我认为您会发现解耦包含了使用接口的几乎所有优点,因为提供内聚和松散耦合的类与拥有具有状态和行为的类一样基本是 OOP。

    【讨论】:

      猜你喜欢
      • 2013-07-29
      • 1970-01-01
      • 2012-02-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-25
      • 2013-03-17
      • 1970-01-01
      相关资源
      最近更新 更多