没有合适的资源?快使用搜索试试~ 我知道了~
Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)Java23种设计模式(总结)
Java 设计模式
Java 设计模式(疯狂 Java 联盟版)
1
目录
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
Java 设计模式(疯狂 Java 联盟版)
2
1. 设计模式(超级详细)
内容简介
有感于设计模式在日常开发中的重要性,同时笔者也自觉对设计模式小有心
得,故笔者*写二十三种设计模式的简单例子、
并整理二十三种设计模式的理论部分,综合汇总成这份 Java 设计模式(疯狂 J*va
联盟版),希望对大家有所帮助。
本份帮助文档主要是为了向读者介绍二十三种设计模式,包括模式的描述,
适用性,模*的组成部分,并附带有简单的例
子和类*,目的是为了让读*了解二十三种*计模式,并能方便的查阅各种设计模*
的用法及注意点。
所附的例子非常简单,慢慢的引导读者从浅到深了解设计模式,并能从中享
受设计的乐趣。
由于每个人对设计*式的理解都不尽一致,因此,可能本文档的例子*有不恰
当的地方,还望各位读者指出不恰当的地方。
欢迎登录疯狂 J*va 联盟进行技术交流,疯狂 Java 联盟的论坛宗旨是:
所有的技术发帖,均有回复。
疯狂 Java 联盟网址:http://www.crazyit.org
笔者简介
笔者曾师从李刚老师学习 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 协议的前提
下,允许和鼓励任何人进行全文转载及推广,我们放弃除署名权外的一切权利。
Java 设计模式(疯狂 Java 联盟版)
3
1.1 创建型模式
AbstractFactory ( 抽象工厂 )
FactoryMethod ( 工厂方法 )
Singleton ( 单态模式 )
Builder ( 建造者模式 )
Protot*pe * 原型模式 )
1.1.1 工厂方法
*义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod
使一个类的实例*延迟到其子类。
适用性
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个
帮助子类是代理者这一信息局部化的时候。
参与者
1.Product
定义工厂方法所创建的对象的接口。
2.ConcreteProduct
实现 Product 接口。
3.Creator
声明工厂方法,该方法返回一个 Product 类型的对象*
Creator 也可以定义一个工厂方法的缺省实现,它返回一个缺省的
ConcreteProduct 对象。
可以调用工厂方法以创建一个 Product 对象。
4.ConcreteCreator
重定义工厂方法以返回一个 ConcreteProduct 实例。
类图
Java 设计模式(疯狂 Java 联盟版)
4
例子
*roduct
public interface Work {
void doWork();
}
ConcreteProduct
public class StudentWork implements Work {
public void doWork() {
System.out.println("学生*作业!");
}
}
public class TeacherWork implements Work {
public void doWork() {
System.out.println("老师审批作业!");
}
}
Creator
public interface IWorkFactory {
Work get*ork();
}
Concre*eCreator
pu*lic class StudentWorkFactory implements IWorkFactory {
剩余68页未读,继续阅读
资源推荐
资源评论
5星 · 资源好评率100%
187 浏览量
187 浏览量
103 浏览量
2018-12-23 上传
2021-09-27 上传
186 浏览量
2019-07-07 上传
2013-12-02 上传
2009-11-07 上传
170 浏览量
2021-10-05 上传
2012-08-30 上传
151 浏览量
2010-11-24 上传
190 浏览量
2019-07-07 上传
156 浏览量
资源评论
小正太浩二
- 粉丝: 336
- 资源: 5940
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【java毕业设计】悦宠医疗乐享精灵(源代码+论文+数据库+PPT模板).zip
- springboot272车辆管理系统_0303174040.zip
- springboot273基于JavaWeb的宠物商城网站设计与实现.zip
- springboot273基于JavaWeb的宠物商城网站设计与实现_0303174040.zip
- 三菱FX3U底层源码,PLSR源码 总体功能和指令可能支持在RUN中下载程序,支持注释的写入和读取,支持脉冲输出与定位指令(包括PLSY PWM PLSR PLSV DRVI DRVA 等指令
- 【java毕业设计】智宠医疗小精灵通(源代码+论文+数据库+PPT模板).zip
- 【java毕业设计】智宠医疗大数据(源代码+论文+数据库+PPT模板).zip
- 【java毕业设计】智慧萌宠诊所(源代码+论文+数据库+PPT模板).zip
- springboot274基于web的电影院购票系统.zip
- springboot274基于web的电影院购票系统_0303174040.zip
- 【java毕业设计】专业萌宠诊所(源代码+论文+数据库+PPT模板).zip
- 【java毕业设计】专业宠物医院(源代码+论文+数据库+PPT模板).zip
- 【java毕业设计】智兽医疗小精灵通(源代码+论文+数据库+PPT模板).zip
- springboot275毕业就业信息管理系统的设计与实现_0303174040.zip
- springboot276基于JS的个人云盘管理系统的设计与实现_0303173844.zip
- springboot276基于JS的个人云盘管理系统的设计与实现.zip
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功