Interface 从软件设计的角度看界面的使用

Interface 从软件设计的角度看界面的使用,interface,core,java,Interface,Core,Java,可能重复: 嗨,朋友们 这不是什么新鲜事,这个问题只是关于接口 我知道接口是如何使用的,什么是接口。但我想知道从设计的角度看,接口实际上是如何起作用的。 任何人都可以给我解释一下接口的用法。 你可以举任何例子 谢谢。接口和抽象类都可以帮助您编程到接口,而不是具体的实现 这意味着您可以更有效地使用OOP原则。 我建议你读书 头先面向对象设计与分析 这本书对我帮助很大 来自SCJP 6书: 当您创建一个接口时,您定义了一个类可以做什么的契约,而没有说明类将如何做。接口就是合同 例如,当您有一个可移

可能重复:

嗨,朋友们

这不是什么新鲜事,这个问题只是关于接口

我知道接口是如何使用的,什么是接口。但我想知道从设计的角度看,接口实际上是如何起作用的。 任何人都可以给我解释一下接口的用法。 你可以举任何例子


谢谢。

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

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

头先面向对象设计与分析

这本书对我帮助很大

来自SCJP 6书:

当您创建一个接口时,您定义了一个类可以做什么的契约,而没有说明类将如何做。接口就是合同


例如,当您有一个可移动的接口时,您可以定义必须由接口实现实现的方法,如:drive()或setMovingSpeed()。接口没有说明如何驾驶,只是说明它在那里,并且应该由接口的子类(如Bike或Car…)声明。

从设计最佳实践的角度来看,编程到接口以及依赖项注入的最大优势之一(使用Spring之类的工具或通过构造函数/设置器实现自动化)是因为它减少了代码中的耦合。这意味着每个单独的类都更加独立,对不可靠细节的更改不太可能在其他类中泄漏

如果您有一个强耦合的应用程序,那么所做的更改会在整个代码中产生连锁反应

本质上,如果您编程到一个接口,您应该能够对实现进行底层更改,而不会对其他类产生连锁效应

“程序到接口”的最佳实践概念在四人帮设计模式书中提出

此外,请查看以下pdf的第17页:


它提供了一些优势,然后是一个代码示例。

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

Andrei实际上我正在寻找或者任何向我展示界面使用的例子。那么你能给我或给我同样的建议吗?好吧,我认为你不能从一个例子中完全理解界面在面向对象设计中的价值。阅读书籍,研究设计模式,这将引导你走向成功;)