




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java开发中的23种设计模式,学习设计模式有两个意义:一、学习设计模式最重要的是了解模式的手机应用场景。编程遇到特定场景的话,要有意识联想到设计模式,哪怕细节忘了也没关系,翻翻书就找到了。二、提高手机APP设计的思想。学习设计模式的时候,要体会模式精妙之处,当想明白大师思想和自己的差距的时候,差距就缩短了一点儿。有的模式平淡无奇,应用却广泛。有的模式设计精巧,应用场景却不易遇到。无论如何,要么掌握工具,要么学到思想,都是收获。最适合简单概括设计模式的是UML图,收集了一个非常好的资源,分享在我的skydrive网络硬盘上,包含23种设计模式的UML图,cid-,2.ChainofResponsibility(责任链)精巧程度:3星应用广泛:3星为解除请求的发送者和接收者之间耦合,而使多个对象都有机会处理这个请求。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它。适合用在一系列handler的场景下。分为纯和不纯两种,好像女孩儿也可以这么分?,3.Observer(观察者)定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。因为java里有Obserable和Observer,所以通常在java里不会自己设计观察者模式。4.Command(命令模式)精巧程度:4星应用广泛:3星将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。command模式用来解耦invoker和receiver.,5.State(状态模式)精巧程度:4星应用广泛:3星允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它所属的类。OO编程如果出现多个相同的ifelse条件,应该考虑用state模式重构。workflow的状态器也是基于State模式的。6.Interpreter(解释器)精巧程度:N/A应用广泛:1星给定一个语言,定义它的语法的一种表示,并定义一个解释器,该解释器使用该表示解释语言中的句子。,7.Strategy(策略模式)精巧程度:2星应用广泛:4星定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。8.Iterator(迭代子)JavaCollection都可以迭代,在java上不需要格外设计iterator.9.TemplateMethod(模板方法)精巧程度:2星应用广泛:4星见名知义。太简单了,学过一遍就不会忘。但是这个应用非常广泛!,10.Mediator(仲裁者)精巧程度:4星应用广泛:1星用来解耦多个peer.个人觉得这个模式多半会让mediator十分臃肿,mediator本身需要有很清晰的设计才能使用。应用场景恐怕也少。11.Visitor(访问者)精巧程度:5星应用广泛:2星collection里存一个类系的entry时,使用visitor模式可以避免instanceof的使用。更重要的是方便扩展类系。Structure7种,12.adapter(适配器)精巧程度:2星应用广泛:1星将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的类可以一起工作。13.Proxy(代理)精巧程度:2星应用广泛:5星aop是代理模式的一种发挥。Spring和Hibernate都大量使用proxy.可以引申学学JDK的dynamicproxy.模式简单,略。,14.Bridge(桥梁)精巧程度:5星应用广泛:3星Bridge在技术上是strategy的进一步发挥,但侧重在实现与抽象的解耦。将抽象部分与它的实现部分分离,使它们都可以独立地变化。15.Composite精巧程度:4星应用广泛:3星适用于树状结构。,16.Decorator(装饰)精巧程度:5星应用广泛:3星在javaI/O中广泛使用。为了解决类爆炸的问题。17.Facade(门面)连个UML图都没有,算神马模式?18.Flyweight精巧程度:5星应用广泛:2星分单纯复合两种,本身包含了工厂方法模式。一系列对象如果他们都有某部分属于特定集合,就让他们共享这个特定集合以节省资源。Creational6种,19.FactoryMethod(工厂方法)精巧程度:3星应用广泛:4星两个变种,一个是根据参数创建对象,一个是factory类系对应产品类系。面向接口编程在创建模式的体现。20.AbstractFactory(抽象工厂)精巧程度:5星应用广泛:1星只有产品有两个类系的时候才用得上。,21.Builder精巧程度:5星应用广泛:2星产品分部分,并且build的过程不定的时候考虑用这种模式。是模板模式的一种发挥22.Prototype(原型)java有cloneable的支持,所以通常不需要自己设
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甲乙丙合作协议合同范本
- 村级修桥安全协议书范本
- 顺义活塞机采购合同范本
- 股权转让合同的解除协议
- 私人财产投资协议书范本
- 汽修店工人雇佣合同范本
- 股东退休强制退股协议书
- 浙江小型仓库租赁协议书
- 自建房模具出售合同范本
- 水稻种植托管服务协议书
- 2024年西安交通大学国际合作交流处招聘笔试真题
- 2025年吉林省中考生物试卷真题答案详解解读(精校打印)
- 儿童腹痛鉴别诊断
- 意外险产品组合策略分析-洞察阐释
- 2025年粤东西北教师全员轮训心得体会2篇
- 完整版:美制螺纹尺寸对照表(牙数、牙高、螺距、小径、中径外径、钻孔)
- 绿化项目设备配置方案
- 安徽硅宝有机硅新材料有限公司年产8500吨偶联剂项目环境影响报告书
- 国际技术转让合同(中英文对照)
- FBCDZ系列通风机使用说明书
- 疑似预防接种异常反应报表
评论
0/150
提交评论