博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式大总结2-结构型模式
阅读量:4328 次
发布时间:2019-06-06

本文共 757 字,大约阅读时间需要 2 分钟。

上篇我们介绍完了创建型模式,今天我们继续总结结构型模式,它分别包括适配器模式、装饰模式、桥接模式、组合模式、享元模式、代理模式和外观模式。

1、适配器模式

定义:将一个类的接口转换成客户希望的另外一个接口。--------------双方都不适合修改的时候考虑适配器模式

图例:

2.装饰模式

定义:动态的给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更灵活。

优点:装饰模式就是把要添加的附加功能分别放在单独的类中,并让这个类包含它要装饰的对象,当需要执行时候,客户端就可以选择的按顺序的选择装饰功能.

图例:

3、桥接模式:

定义:将抽象的部分,实现部分分类,是他可以独立变化。

PS:如果继承不能满足开放-封闭原则的话考虑桥接模式。

图例:手机品牌和手机软件的关系。

4、组合模式

定义:将对象组合成树形模式以表示”部分-整理“的层次结构,组合模式使得对象对单个对象和组合对象的使用具有一致性。

优点:整体和部分可以被一致对待。

5、享元模式

定义:运用共享技术有效的支持大量细粒度的对象。

优点:如果一个程序大量的是用对象,而且这些对象造成很大的存储开销时候考虑。

6、代理模式

定义:对其他对象提供一种代理以控制对这个对象的访问

优点:

a、远程代理:可以隐藏一个对象在不同空间地址的事实。

b、虚拟代理:通过代理来存放需要很长时间实例化的对象。

c、安全代理:用来控制真实对象的访问权限。

d、智能引用:当调用真实对象时,代理处理另外一些事情。

图例:

7.外观模式

定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。

图例:

转载于:https://www.cnblogs.com/jinfulin/p/3797718.html

你可能感兴趣的文章
CSS3 结构性伪类选择器(1)
查看>>
IOS 杂笔-14(被人遗忘的owner)
查看>>
自动测试用工具
查看>>
前端基础之BOM和DOM
查看>>
[T-ARA/筷子兄弟][Little Apple]
查看>>
编译Libgdiplus遇到的问题
查看>>
【NOIP 模拟赛】Evensgn 剪树枝 树形dp
查看>>
java学习笔记④MySql数据库--01/02 database table 数据的增删改
查看>>
两台电脑如何实现共享文件
查看>>
组合模式Composite
查看>>
程序员最想得到的十大证件,你最想得到哪个?
查看>>
我的第一篇CBBLOGS博客
查看>>
【MyBean调试笔记】接口的使用和清理
查看>>
07 js自定义函数
查看>>
jQueru中数据交换格式XML和JSON对比
查看>>
form表单序列化后的数据转json对象
查看>>
[PYTHON]一个简单的单元測试框架
查看>>
iOS开发网络篇—XML数据的解析
查看>>
[BZOJ4303]数列
查看>>
一般处理程序在VS2012中打开问题
查看>>