据我了解,Bridge模式的目的是引用维基百科“将抽象与其实现分离”。那不就是接口的作用。通过决定接口并强制类使用该接口,任何其他类都可以与此接口进行交互,而无需任何有关内部工作的知识。
接口是否等同于Bridge?
答案 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语言的通用语言(我知道的。)对于类的“接口”,那么你的陈述不是真的。