桥和接口之间的区别

时间:2010-11-18 16:07:16

标签: design-patterns

据我了解,Bridge模式的目的是引用维基百科“将抽象与其实现分离”。那不就是接口的作用。通过决定接口并强制类使用该接口,任何其他类都可以与此接口进行交互,而无需任何有关内部工作的知识。

接口是否等同于Bridge?

4 个答案:

答案 0 :(得分:9)

接口只是意味着“公共API”的东西:这是你编写软件的合同。 Java使用关键字interface来定义没有包含此类合同的代码的类。

桥模式是一种设计模式。它代表脱钩。你可以说Java接口是实现这种模式的一种方式。

请注意,桥接器通常会公开完整的API,而Java接口只能公开部分API。示例:您的课程Foo有两种方法:bar()baz()

网桥是与Foo具有相同公共API的任何网址,可以在任何可以使用Foo的地方使用。

使用接口,您可以拥有两个。一个包含bar(),另一个包含baz()。任何实现它们的类都是Foo的有效实现,但是你也可以拥有只实现其中一个的类。

答案 1 :(得分:1)

“接口”通常指的是类中的公共内容。据我所知,在Bridge模式中,您实际上有接口和实现的单独类。

答案 2 :(得分:0)

接口是实现必须遵守的合同。桥接器使用接口来实现其目标,即将一些具体实现与它同意的客户端接口分开,以便客户端对其使用的服务的工作原理的细节知之甚少(或者更确切地说没有)。

答案 3 :(得分:0)

您是在谈论Interface(如许多类Java语言中的语言结构)吗?或者只是“接口”,如“类型暴露给客户的东西”?

有一个很大的区别,一个是非通用的语言特定细节(对于那些实现Interface类型的语言,你的语句的功能类似于Bridge),另一个是所有OO语言的通用语言(我知道的。)对于类的“接口”,那么你的陈述不是真的。