1.单体模式:将功能相关的变量或函数封装原创内容,盗版必究。【访问 www.tangshuang.net 获取更多精彩内容】在一个静态对象中,相当于命名空间,可以减转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.net少全局变量的数量,主要是用来处理变量的问本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.net 获取更多精彩内容】题
【作者:唐霜】【访问 www.tangshuang.n【访问 www.tangshuang.net 获取更多精彩内容】著作权归作者所有,禁止商业用途转载。et 获取更多精彩内容】
2.工厂模式:将一个功能封装成一个静态类著作权归作者所有,禁止商业用途转载。【作者:唐霜】,无需实例化这个类来调用,而是通过类的一本文版权归作者所有,未经授权不得转载。【版权所有,侵权必究】个方法初始化,或者这个类主要用来派生子类【本文受版权保护】【版权所有】唐霜 www.tangshuang.net,主要用来处理某一个功能的不同操作
【原创内容,转载请注明出处】【版权所有】唐霜 www.tangshu【转载请注明来源】【版权所有,侵权必究】ang.net
3.桥梁模式:在撰写一个程序过程中按照接本文作者:唐霜,转载请注明出处。著作权归作者所有,禁止商业用途转载。口直接写某个功能的调用,传入对应的配置参转载请注明出处:www.tangshuang.net未经授权,禁止复制转载。数,此时不用考虑该功能的具体实现,具体实【转载请注明来源】【关注微信公众号:wwwtangshuangnet】现可以写在其他模块或函数中,但是其提供的【访问 www.tangshuang.net 获取更多精彩内容】本文作者:唐霜,转载请注明出处。接口应该符合一定的规范,在这个规范指引下【访问 www.tangshuang.net 获取更多精彩内容】【关注微信公众号:wwwtangshuangnet】,过程代码和功能代码分开,通过接口作为桥著作权归作者所有,禁止商业用途转载。【本文首发于唐霜的博客】梁无缝对接
本文作者:唐霜,转载请注明出处。【访问 www.tangshuang.n著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.netet 获取更多精彩内容】【关注微信公众号:wwwtangshua本文作者:唐霜,转载请注明出处。【转载请注明来源】ngnet】原创内容,盗版必究。
4.装饰者模式:在不改变原始对象的前提下【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。,扩展这个对象。在扩展方法中可能调用原始【版权所有,侵权必究】【本文首发于唐霜的博客】对象已有的属性,但不能在原始方法中添加新【关注微信公众号:wwwtangshuangnet】【访问 www.tangshuang.net 获取更多精彩内容】属性来满足扩展的方法
【本文受版权保护】未经授权,禁止复制转载。著作权归作者所有,禁止商业用途转载。【原创不易,请尊重版权】
5.组合模式:将一堆相似的对象组合在一起【作者:唐霜】【访问 www.tangshuang.net 获取更多精彩内容】成为一个大的对象,由这个大对象提供接口,【未经授权禁止转载】【原创不易,请尊重版权】通过这些接口再掉内部的对象的接口来实现对【本文首发于唐霜的博客】本文版权归作者所有,未经授权不得转载。应功能
【本文首发于唐霜的博客】【本文首发于唐霜的博客】【作者:唐霜】【访问 www.tangshuang.n原创内容,盗版必究。本文作者:唐霜,转载请注明出处。et 获取更多精彩内容】
6.门面模式:将复杂的逻辑封装起来,只暴【本文受版权保护】著作权归作者所有,禁止商业用途转载。露一个入口给使用者,主要是为了解决差异(【版权所有】唐霜 www.tangshuang.net【作者:唐霜】兼容性)问题。比如一些内部处理兼容性的方【未经授权禁止转载】转载请注明出处:www.tangshuang.net法,它们的内部肯定有很多判断,但是在外部【访问 www.tangshuang.net 获取更多精彩内容】【版权所有,侵权必究】调用的时候,根本不考虑这些兼容性问题,而著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】是根据功能实现的需要来调用。这一点有点像原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。“桥梁模式”,但是桥梁模式更加注重的是功【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。能和接口,而门面模式更加注重逻辑和暴露一未经授权,禁止复制转载。【本文受版权保护】个入口。
【关注微信公众号:wwwtangshua【本文首发于唐霜的博客】【本文受版权保护】ngnet】【本文首发于唐霜的博客】
7.配置器模式:将一个类的接口转换为用户【转载请注明来源】原创内容,盗版必究。希望的另外一个接口。主要解决类的接口兼容【未经授权禁止转载】本文版权归作者所有,未经授权不得转载。性问题。这个用于转换的函数或方法被称为适【关注微信公众号:wwwtangshuangnet】著作权归作者所有,禁止商业用途转载。配器。从结果来看,它有点像门面模式,都是【作者:唐霜】【本文首发于唐霜的博客】在解决兼容性问题。
本文版权归作者所有,未经授权不得转载。著作权归作者所有,禁止商业用途转载。
8.享元模式:把功能一拆再拆,拆到最细,【转载请注明来源】本文作者:唐霜,转载请注明出处。再通过接口、工厂、存储器等组装起来。主要【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。解决的是小粒度相同功能的复用。不过一般情【版权所有,侵权必究】【本文首发于唐霜的博客】况下,这会使程序的可读性降低,但性能会有本文版权归作者所有,未经授权不得转载。【本文首发于唐霜的博客】所提高。
【版权所有,侵权必究】转载请注明出处:www.tangshua【本文受版权保护】转载请注明出处:www.tangshuang.netng.net
9.代理模式:通过创建一个方法来控制是否本文作者:唐霜,转载请注明出处。本文作者:唐霜,转载请注明出处。执行某些操作。特别是在实例化的时候,如果【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net通过代理模式,就可以在特定条件下才实例化原创内容,盗版必究。本文作者:唐霜,转载请注明出处。类,否则就返回一些提示信息。这样可以节省本文作者:唐霜,转载请注明出处。【关注微信公众号:wwwtangshuangnet】内存。
本文版权归作者所有,未经授权不得转载。【原创不易,请尊重版权】
10.观察者模式:定义对象间的一对多依赖【关注微信公众号:wwwtangshuangnet】【原创内容,转载请注明出处】关系,当对象的状态发生变化时,依赖它的对著作权归作者所有,禁止商业用途转载。本文版权归作者所有,未经授权不得转载。象也会跟着更新。事件监听就是一种内置的观【访问 www.tangshuang.net 获取更多精彩内容】【本文首发于唐霜的博客】察者。
【转载请注明来源】本文作者:唐霜,转载请注明出处。原创内容,盗版必究。
11.命令模式:将请求封装成一个对象,当著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。要执行某些操作时,通过调用这个对象的“执【作者:唐霜】【原创内容,转载请注明出处】行操作”,传入“要干什么”“参数”,在其本文版权归作者所有,未经授权不得转载。【转载请注明来源】内部来处理具体调用那个类的什么方法。它跟原创内容,盗版必究。【原创内容,转载请注明出处】门面模式也有点像,但它更强调的是封装出来【转载请注明来源】本文版权归作者所有,未经授权不得转载。的这个对象的形式是命令的形式。
【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。【关注微信公众号:wwwtangshua【作者:唐霜】原创内容,盗版必究。ngnet】本文作者:唐霜,转载请注明出处。
12.职责链模式:将一堆处理请求的对象处【转载请注明来源】本文版权归作者所有,未经授权不得转载。理成一个链条,当一个请求发生时,传入链条未经授权,禁止复制转载。【本文首发于唐霜的博客】的第一个对象,链条中的对象对传进的请求有【本文首发于唐霜的博客】【访问 www.tangshuang.net 获取更多精彩内容】两个选择,要么处理它,要么不处理它,要么未经授权,禁止复制转载。【作者:唐霜】往链条中的下一个对象传,要么结束处理返回【版权所有,侵权必究】本文版权归作者所有,未经授权不得转载。结果。
未经授权,禁止复制转载。【版权所有,侵权必究】【本文首发于唐霜的博客】【访问 www.tangshuang.n【未经授权禁止转载】原创内容,盗版必究。et 获取更多精彩内容】
未经授权,禁止复制转载。转载请注明出处:www.tangshua转载请注明出处:www.tangshuang.net本文作者:唐霜,转载请注明出处。ng.net
参考文献:
【转载请注明来源】【原创内容,转载请注明出处】
【本文受版权保护】本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。
2017-02-15 3180 设计模式


