设计模式 之 结构型模式

2017-01-14 10:23:02来源:http://www.jianshu.com/p/2aced891630c作者:诺之林_人点击


本文没有复杂的理论解释和代码示例, 只想让你花15分钟时间, 就能够轻松熟悉各种结构型模式的含义和区别


如果你连15分钟都"没有"的话, 还可以参考下面的思维导图(本人使用的是MindNode)




design-patterns-structure-01.png
目录

什么是结构型模式



适配器Adapter


Adapter的应用

桥接Bridge


Bridge的应用

装饰Decorator


Decorator的应用

外观Facade


Facade的应用

代理Proxy


Dynamic-Proxy以及Proxy的应用

委托Delegate



Delegate和Adapter的区别



Delegate和Proxy的区别




小结



参考



什么是结构型模式


Big Four的设计模式中的定义如下


结构型模式涉及到如何组合类和对象以获得更大的结构



那么有哪些结构型模式呢?


Adapter, Bridge, Decorator, Facade, Proxy, Delegate...


适配器Adapter

什么是适配器? 如果你买过港版的iPhone或iPad的话, 你肯定用过这个



design-patterns-structure-02.png

设计模式中的Adapter和现实中的适配器完全一样


将一个接口装换成另一个接口, 以符合客户的期望



Big Four的设计模式中的定义如下


Convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn't other wise because of incompatible interfaces


将一个类的接口转换成客户想的另一个接口, 从而使得原本由于接口不兼容而不能一起工作的哪些类能够在一起工作



Adapter的应用

Adapter在android开发中的应用非常广泛, 其作用如下


An Adapter object acts as a bridge between an AdapterView and the underlying data for that view. The Adapter provides access to the data items. The Adapter is also responsible for making a View for each item in the data set

例如我们常用的RecyclerView.Adapter


RecyclerView Adapters provide a binding from an app-specific data set to views that are displayed within a RecyclerView

这里的Adapter就是用来适配data和view的


简单来说, Adapter就是将一个接口转换成另一个接口


桥接Bridge

Bridge这个单词原意是指桥梁, 桥梁的作用大家都是晓得的:


连接两个不同的世界


PS: 如果你想和我较真桥梁作用的表述, 那你就"输了",

最新文章

123

最新摄影

微信扫一扫

第七城市微信公众平台