设计模式小结
8页1、仅供个人参考-摘自设计模式之禅一、创建类模式:包括工厂方法模式、建造者模式、抽象工厂模式、单例模式和原型模式,提供对象的创建和管理职能。1、单例模式是要保持在内存中只有一个对象。2、原型模式是要求通过赋值的方式产生一个新的对象。3、 工厂方法模式和建造者模式都属于对象创建类模式,都用来创建类的对象。区别:(1)意图不同工厂方法模式,关注的是一个产品整体。无须关注产品的各部分是如何创建出来的;建造者模式中,一个具体产品的产生是依赖各个部件的产生以及装配顺序,它关注的是“由零件一步一步地组装出产品对象”。简单的说,工厂模式是一个对象创建的组线条应用,建造者模式则是通过细线条勾勒出一个复杂对象,关注的产品组成部分的创建过程。(2)产品的复杂度不同工厂方法模式创建的产品一般都是单一性质产品,而建造者模式创建的则是一个复合产品,它由各个部分复合而成,部件不同产品对象不同。它们的粒度大小不同,一般来说,工厂方法模式的对象粒度比较粗,建造者模式的产品对象粒度比较细。4、抽象工厂模式比建造者模式的尺度要大,它关注产品整体,而建造者模式关注构建过程,因此建造者模式可以很容易地构建出一个崭新的产品,只要导
2、演类能够提供具体的工艺流程。也正因为如何,两者的应用场景截然不同,如果希望屏蔽对象的创建过程,只提供一个封装良好的对象,则可以选择抽象工厂方法模式。而建造者模式可以用在构件的装配方面,如通过装配不同的组件或者相同组件的不同顺序,可以产生一个新的对象,它可以产生一个非常灵活的架构,方便地扩展和维护系统。二、结构类模式包括适配器模式、桥梁模式、组合模式、装饰模式、门面模式、享元模式和代理模式。1、 代理模式与装饰模式代理模式是把当前的行为或功能委托给其他对象执行,代理类负责接口限定:是否可以调用真实角色,以及是否对发送到真实角色的消息进行变形处理,它不对被主题角色(被代理类)的功能做任务处理。代理模式使用到极致开发就是AOP,使用了代理和反射的技术。装饰模式是在要保证接口不变的情况下加强肋的功能,它保证的是被修饰的对象功能比原始对象丰富(或减弱),但不做准入条件判断和准入参数过滤,如是否可以执行类的功能,过滤输入参数是否合规等,这不是装饰模式关心的。在jdk的java.io.*包中大量使用装饰模式2、 装饰模式与适配器模式a. 意图不同装饰模式的意图是加强对象的功能,它不改变类的行为和属性
3、,只是增加(减弱)功能;而适配器莫斯关注的则是转化,它的主要意图是两个不同对象之间的装好,它关注转换。b. 施与对象不同装饰模式装饰的对象必须是自己得同宗,也就是相同的接口或父类,只有在具有相同的属性和行为的情况下,才能比较行为是增加还是减弱;适配器模式则必须是两个不同的对象,因为它着重于装换,只有两个不同的对象才有装换的必要。c. 场景不同装饰模式在任何时候都可以使用,只要是想增强类的功能,而适配器模式则是一个补救模式,一般出现在系统成熟或已经构建完毕的项目中,作为一个紧急处理手段采用d. 扩展性不同装饰模式很容易扩展;但适配器模式建立模式,去除困难。三、行为类模式包括责任链模式、命令模式、解释器模式、迭代器模式、中介者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式、访问者模式。1、 、策略模式与命令模式两个模式相似,特别是命令模式退化时,如无接受者,这种情况下,两个模式类图完全一样,代码实现也比较相似,区别:a. 关注点不同策略模式关注的是算法替换的问题,一个新的算法投产,旧算法退休,或提供多种算法由调用者自己选择使用,算法的自由更替是它实现的要点。换句话说,策略模
《设计模式小结》由会员大米分享,可在线阅读,更多相关《设计模式小结》请在金锄头文库上搜索。
2022年一年级专题教育教学工作计划范文
教职工培训工作总结标准范文(二篇).doc
防台防汛专项施工方案
2022大四毕业生实习报告范文
阳光小学教育集团第三十届少代会方案
毕业聚会感言
鲁迅小说中的小人物分析【终极】
中国移动通信公司的诊断报告
大型网站的灵魂
《船坞施工招标函》word版
幼升小简历(儿童简历)
机耕道通用技术条件DB43T580—2010
人教版三年级下册《亡羊补牢》
高考化学备考最受欢迎的纠错笔记
大学自我介绍信怎么写.doc
解除房屋买卖和解协议标准模板(十篇).doc
订餐服务合同律师版(7篇)
煤气水分离工艺日常维护
安全生产技术
2015-2016学年上学期七年级生物答案
2023-10-24 3页
2023-11-16 9页
2023-10-04 134页
2023-08-20 10页
2022-10-06 8页
2022-09-16 32页
2023-12-17 19页
2023-06-02 4页
2023-06-21 7页
2023-03-16 107页