从软件设计角度使用界面

时间:2011-05-04 13:00:54

标签: interface core java

  

可能重复:
  Use of Java [Interfaces / Abstract classes]

嗨,朋友们,

这不是关于任何新问题,这个问题只是关于 INTERFACES

我知道如何使用接口以及接口是什么。但我想知道接口实际上如何从设计的角度来看。 任何人都可以给我解释界面使用。 你可以举出任何一个例子。

感谢。

4 个答案:

答案 0 :(得分:0)

接口和抽象类都可以帮助您编程接口,而不是具体的实现。

这意味着您可以更有效地使用OOP原则。 我建议你阅读

Head First Object Oriented Design and Analysis

这本书给了我很多帮助。

答案 1 :(得分:0)

从SCJP 6书中可以看出:

  

当你创建一个接口时,你正在为一个类可以做什么定义一个契约,而不会说任何关于类如何做的事情。接口是合同。

例如,当您有 Interface Movable 时,您可以定义必须由接口实现实现的方法,例如:drive()或setMovingSpeed()。界面没有提及如何驱动,只是说它就在那里,应该由界面的子类声明(比如 Bike Car .. )..

答案 2 :(得分:0)

从设计最佳实践的角度来看,编程到接口的一大优势,以及依赖注入(使用Spring或通过构造函数/设置器自动执行)可以减少代码中的耦合。这意味着每个单独的类都是更自包含的,并且对于未处理的细节的更改不太可能在其他类中泄漏。

如果您的应用程序具有强耦合,则会导致所有更改导致整个代码产生连锁反应。

基本上,如果你编程到一个接口,你应该能够对实现进行底层更改,而不会在其他类中产生影响。

“四人帮设计Pattenr”一书http://en.wikipedia.org/wiki/Design_Patterns

中提出了“程序到界面”的最佳实践概念

另外,请查看以下pdf的第17页:http://userpages.umbc.edu/~tarr/dp/lectures/OOPrinciples-2pp.pdf

它比代码示例更具优势。

答案 3 :(得分:0)

您可以通过接口(抽象),开放/关闭原则等原则/规则,关闭修改但开放扩展,或使用组合而不是继承等来实现良好软件设计的一些有价值的原则。您可以使用优势接口的多态性(抽象),在运行时动态地改变程序行为,如策略模式中所述。您可以在软件工程书籍中找到更多内容,我认为不可能在单个线程中讨论所有这些内容。搜索设计模式,面向对象编程,计算机科学文档中的抽象。