除了使用松散耦合外,项目中的接口有什么用?

时间:2012-02-13 13:15:00

标签: c# oop

除了使用松散耦合外,项目中接口的用途是什么? 是否在将其作为参数传递时减少了内存使用量? 请深深列出优惠。

2 个答案:

答案 0 :(得分:2)

我认为你应该看一下oop示例,特别是Design pattern,它可以帮助你理解使用界面的原因..

答案 1 :(得分:1)

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

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

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

public class Foo : IDisposable, IPersistMyselfToDisk, IRaiseUpdateEvents

我能说出很多关于这个课程以及它一目了然的内容 - 如果我简单地将这个功能隐藏在课堂细节中的某个地方,那么我就可以了。再次,这可以追溯到某种程度上的脱钩,但它也独立存在。

我认为你会发现解耦几乎包含了使用接口的所有优点,因为提供具有内聚性和松散耦合的类对于OOP来说就像具有状态和行为的类一样重要。