- 2
- 0
- 约4.56万字
- 约 69页
- 2017-02-09 发布于重庆
- 举报
Java的23种设计模式
Java设计模式(疯狂Java联盟版)
目录
1. 设计模式 3
1.1 创建型模式 4
1.1.1 工厂方法 4
1.1.2 抽象工厂 6
1.1.3 建造者模式 10
1.1.4 单态模式 13
1.1.5 原型模式 15
1.2 结构型模式 17
1.2.1 适配器模式 17
1.2.2 桥接模式 19
1.2.3 组合模式 23
1.2.4 装饰模式 26
1.2.5 外观模式 29
1.2.6 享元模式 32
1.2.7 代理模式 34
1.3 行为型模式 37
1.3.1 责任链模式 37
1.3.2 命令模式 40
1.3.3 解释器模式 43
1.3.4 迭代器模式 45
1.3.5 中介者模式 49
1.3.6 备忘录模式 52
1.3.7 观察者模式 54
1.3.8 状态模式 58
1.3.9 策略模式 61
1.3.10 模板方法 63
1.3.11 访问者模式 65
1. 设计模式(超级详细)
内容简介
有感于设计模式在日常开发中的重要性,同时笔者也自觉对设计模式小有心得,故笔者*写二十三种设计模式的简单例子、
并整理二十三种设计模式的理论部分,综合汇总成这份Java设计模式(疯狂J*va联盟版),希望对大家有所帮助。
本份帮助文档主要是为了向读者介绍二十三种设计模式,包括模式的描述,适用性,模*的组成部分,并附带有简单的例
子和类*,目的是为了让读*了解二十三种*计模式,并能方便的查阅各种设计模*的用法及注意点。
所附的例子非常简单,慢慢的引导读者从浅到深了解设计模式,并能从中享受设计的乐趣。
由于每个人对设计*式的理解都不尽一致,因此,可能本文档的例子*有不恰当的地方,还望各位读者指出不恰当的地方。
欢迎登录疯狂J*va联盟进行技术交流,疯狂Java联盟的论坛宗旨是:
所有的技术发帖,均有回复。
疯狂Java联盟网址:
笔者简介
笔者曾师从李刚老师学习Java,现居广州。对Java软件开发、各种Java开源技术都非常感兴趣,曾参与开发、主持*发过大
量Java、Java EE项目,对Java、Java *E项目有一定认识*见解。欢迎大家与笔者就Java、Java EE相*方面进行技术交流。
笔者现为疯狂Jav*联盟的总版主(论坛ID:杨恩雄),也希望通过该平台与大家分享Java、Java EE技术、*得。
本人邮箱:yangenxiong@163.com
声明
本文档编写、制作过程中得到了疯狂Java联盟、以及笔者学习工作过程大量朋友的支持,大家都抱着一个目的:为国内软件
软件开发事业作出绵薄贡献。
我们在此郑重宣布,本*档遵循Apache 2.0协议。在完整保留全部文本(包括本版权页),并且不违反Apache 2.0协议的前提
下,允许和鼓励任何人进行全文转载及推广,我们放弃除署名权外的一切权利。
AbstractFactory ( 抽象工厂 )
FactoryMethod ( 工厂方法 )
Singleton ( 单态模式 )
Builder ( 建造者模式 )
Protot*pe * 原型模式 )
*义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod使一个类的实例*延迟到其子类。
?适用性
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个帮助子类是代理者这一信息局部化的时候。
?参与者
1.Product
定义工厂方法所创建的对象的接口。
2.ConcreteProduct
实现Product接口。
3.Creator
声明工厂方法,该方法返回一个Prouct类型的对象*
Creator也可以定义一个工厂方法的缺省实现,它返回一个缺省的ConcreteProduct对象。
可以调用工厂方法以创建一个Product对象。
4.ConcreteCreator
重定义工厂方法以返回一个ConcreteProduct实例。
?类图
?例子
*roduct
public interface Work {
void doWork();
}
ConcreteProduct
public class StudentWork implements Work {
public vo
您可能关注的文档
- IxChariot使用方法.doc
- J2ME的3d开发教程.doc
- JAVA--基础知识.doc
- Jason精细反演质量控制.doc
- jason随机反演的中文手册.doc
- JavaBean属性命名规范问题分析.doc
- jason反演岩性曲线测井解释成果加载.doc
- Jason手册a.doc
- I型胶原壳聚糖复合材料生物相容性研究.doc
- javalangUnsatisfiedLinkError解决方法汇集.doc
- 2026年EMR企业营销资源管理系统(doc-22)(共23页).doc
- 2026年主任述职报告原创9篇.doc
- 2026年在线仪表设备维护安全规定.docx
- 关心下一代工作委员会先进事迹材料.pdf
- 2026上半年贵州事业单位联考贵州省住房和城乡建设厅招聘16人备考题库带答案详解(培优a卷).docx
- CS8100SC头侧影像采集与测量报告.pdf
- ATC生效航空销售批准记录.pdf
- Unit 1 Time to Relax课时4 SectionB 1a-1e(课件)英语新教材人教版八年级下册.ppt
- 第三单元第8课时 万以内数的大小比较(教学课件)数学人教版二年级下册2026.ppt
- 第二单元 第1课时 认识平均分(教学课件)数学西南大学版二年级下册2026.ppt
原创力文档

文档评论(0)