六种常见的设计模式
在这里我介绍三种结构型的设计模式:Adapter,Decorater,Facade,三种行为型的设计模式:Strategy,template,Iterator。
(1)Adapter 适配器模式
适配器模式作用是使原本由于接口不兼容而不能一起工作的那些类一起工作。具体操作是增加一个接口,将已存在的子类封装起来,客户端面向接口编程,从而隐藏了具体子类。(2)Decorater 装饰器模式
这个模式的作用就是扩展功能。参照书上的介绍,是动态地给一个对象添加一些额外的功能。操作方法是对每一个特性构造子列,通过委派机制增加到对象上,客户端需要实现怎样特性的对象,就可以对对象进行怎样的装饰。
(3)Facade 外观模式
这个模式其实思想很简单,我们可能不知不觉都在用。它的目的是为子系统的一组接口提供一个一致的界面,方便客户端的使用。具体操作增加一个简化的接口就好了。
(4)Strategy 策略模式
这个模式就是为一个功能提供不同的算法,并且可以让客户端动态的切换。比如排序算法有很多种,快排,冒泡等等。我们可以为不同的实现方法构造抽象接口,利用委托机制在运行时动态的传入客户倾向的算法。
(5)template method 模板模式
这就更是不知不觉的一个模式了。它的作用是处理那些做事情的步骤一样,但具体方法不同的需求。我们可以先定义这个算法的骨架,将共性的步骤在抽象类内公共实现,差异化的步骤在各个子类中实现。
(6)Iterator 迭代器模式
它的作用是提供一种方法顺序访问一个聚合对象中的各个元素,例如List,Set等等,又不需要暴露该对象的内部表示。一般用于客户端希望白能力被放入容器/集合类的一组ADT对象,又不需要关系容器的具体类型的情况下。我们可以自定义自己的迭代器,让我们的遍历变得更灵活。
作者:李诗庄
来源链接:https://blog.csdn.net/cheryl____/article/details/107238760
版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。
2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。