Blog

Blog

PHODAL

设计模式学习——桥接与适配器(一)

在写程序的时候,没能理解好桥接与适配器,于是试着将两者重新整理一下,算是理清一下思路吧。桥接与适配器同是属于,结构型模式,这个算是相同点,适配器是类对象结构型模式,桥接是对象结构型模式。所以,他们同属于结构型模式。

相同点

  • 结构模式

不同点

  • 适配器->类对象结构型模式,桥接->对象结构型模式。

基础概念

从《设计模式》一书而来的话,

Adapter模式

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使原本由于接口不兼容而不能一起工作的类可以一起工作。

Bridge模式

将抽象部分与它的实现部分分离,使它们都可以独立地变化。

在有的书上可能写的是解耦,即将抽象与其实现解耦,突然觉得有些东西就是这么被翻译成为复杂的东西的。这里就不想再去说那些翻译的人没有去看到那些依赖于实现的书了。

于是引自《设计模式解析》中对于解耦(decouple的解释了

指让各种事物互相独立地行事,或者至少明确地声明之间的关系。

于是乎我发现原来对于系统的设计是正确的,正确的原因在于用的是Adapter模式。因为我们要解决的问题是,系统的数据和行为都正确,但接口不符。通常用于必须从抽象类派生时。好吧,我想说这个解释对于我来说有点复杂,复杂。不过还是能理解一点点的,问题还在于什么是抽象类,什么是派生。

抽象类

不能实例化的类

这是这个总的来说还是有点抽象,不是么?对了,我们用到了抽象这个词,他确实是有点抽象,只是因为不够具体。所以在概念层次,抽象类就是其他类的占位符。于是乎不理解的东西似乎越来越多了,又一次类爆发。

桥接模式

遇到的问题,一个抽象类的派生类必须使用多个实现,但不能出现数量爆炸性增长。解决方案,为所有实现定义一个接口,供抽象类的所有派生类使用。


或许您还需要下面的文章:

关于我

Github: @phodal     微博:@phodal     知乎:@phodal    

微信公众号(Phodal)

围观我的Github Idea墙, 也许,你会遇到心仪的项目

QQ技术交流群: 321689806
comment

Feeds

RSS / Atom

最近文章

关于作者

Phodal Huang

Engineer, Consultant, Writer, Designer

ThoughtWorks 技术专家

工程师 / 咨询师 / 作家 / 设计学徒

开源深度爱好者

出版有《前端架构:从入门到微前端》、《自己动手设计物联网》、《全栈应用开发:精益实践》

联系我: h@phodal.com

微信公众号: 最新技术分享

标签