据我所知,Bridge模式的目的是引用Wikipedia中的话,“将抽象与其实现解耦”。这不正是接口要做的吗?通过决定一个接口并强制类使用该接口,任何其他类都可以与该接口交互,而不需要任何关于内部工作原理的知识。
那么一个接口等同于一个桥吗?
发布于 2010-11-19 00:17:52
接口只是指某些东西的“公共API”:这是编写软件时所依据的契约。Java使用关键字interface来定义没有包含此类契约的代码的类。
桥接模式是一种设计模式。它代表解耦。您可以说Java接口是实现此模式的一种方式。
请注意,桥通常公开完整的API,而Java接口只能公开API的一部分。示例:您有一个包含两个方法的类Foo:bar()和baz()。
桥是任何具有与Foo相同的公共应用程序接口的东西,并且可以在任何可以使用Foo的地方使用。
有了接口,你可以有两个接口。一个包含bar(),另一个包含baz()。任何同时实现两者的类都是Foo的有效实现,但是您也可以拥有只实现其中一个的类。
发布于 2010-11-19 00:10:05
“接口”通常指的是类中的公共内容。据我所知,在Bridge模式中,接口和实现实际上有不同的类。
发布于 2010-11-19 00:18:33
接口是实现必须遵守的约定。桥使用接口来实现其目标,即将一些具体的实现从它同意的客户端接口中分离出来,以便客户端几乎不需要(或者更确切地说不需要)了解它所使用的服务如何工作的细节。
https://stackoverflow.com/questions/4216889
复制相似问题