没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
Java 设计模式
Java 设计模式(疯狂 Java 联盟版)
1
目录
1. 设计模式 ........................................................................................................................................2
1.1 创建型模式 ..........................................................................................................................3
1.1.1 工厂方法 ...................................................................................................................3
1.1.2 抽象工厂 ...................................................................................................................5
1.1.3 建造者模式 ...............................................................................................................9
1.1.4 单态模式 .................................................................................................................12
1.1.5 原型模式 .................................................................................................................14
1.2 结构型模式 ........................................................................................................................16
1.2.1 适配器模式 .............................................................................................................16
1.2.2 桥接模式 .................................................................................................................18
1.2.3 组合模式 .................................................................................................................21
1.2.4 装饰模式 .................................................................................................................25
1.2.5 外观模式 .................................................................................................................27
1.2.6 享元模式 .................................................................................................................31
1.2.7 代理模式 .................................................................................................................33
1.3 行为型模式 ........................................................................................................................36
1.3.1 责任链模式 .............................................................................................................36
1.3.2 命令模式 .................................................................................................................39
1.3.3 解释器模式 .............................................................................................................42
1.3.4 迭代器模式 .............................................................................................................44
1.3.5 中介者模式 .............................................................................................................48
1.3.6 备忘录模式 .............................................................................................................51
1.3.7 观察者模式 .............................................................................................................53
1.3.8 状态模式 .................................................................................................................57
1.3.9 策略模式 .................................................................................................................60
1.3.10 模板方法 ...............................................................................................................62
1.3.11 访问者模式 ...........................................................................................................64
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 技术、
*得。
本人邮箱:[email protected]
声明
本文档编写、制作过程中得到了疯狂 Java 联盟、以及笔者学习工作过程大量朋友的支持,大家都抱着一个目
的:为国内软件
软件开发事业作出绵薄贡献。
我们在此郑重宣布,本*档遵循 Apache 2.0 协议。在完整保留全部文本(包括本版权页),并且不违反 Apache
2.0 协议的前提
下,允许和鼓励任何人进行全文转载及推广,我们放弃除署名权外的一切权利。
1.1 创建型模式
AbstractFactory ( 抽象工厂 )
FactoryMethod ( 工厂方法 )
Singleton ( 单态模式 )
Builder ( 建造者模式 )
Protot*pe * 原型模式 )
Java 设计模式(疯狂 Java 联盟版)
3
1.1.1 工厂方法
*义一个用于创建对象的接口,让子类决定实例化哪一个类。FactoryMethod 使一个类的实例*延迟到其子
类。
适用性
1.当一个类不知道它所必须创建的对象的类的时候。
2.当一个类希望由它的子类来指定它所创建的对象的时候。
3.当*将创建对象的职责委托给多个帮助*类中的某一个,并且*希望将哪一个帮助子类是代理者这一信息局部
化的时候。
参与者
1.Product
定义工厂方法所创建的对象的接口。
2.ConcreteProduct
实现 Product 接口。
3.Creator
声明工厂方法,该方法返回一个 Product 类型的对象*
Creator 也可以定义一个工厂方法的缺省实现,它返回一个缺省的 ConcreteProduct 对象。
可以调用工厂方法以创建一个 Product 对象。
4.ConcreteCreator
重定义工厂方法以返回一个 ConcreteProduct 实例。
类图
例子
*roduct
public interface Work {
void doWork();
}
ConcreteProduct
public class StudentWork implements Work {
Java 设计模式(疯狂 Java 联盟版)
4
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 {
public Work getWork() {
*eturn new StudentWork();
}
}
public class TeacherWorkFactory implements IWorkFactory {
public Work getWork() {
return new TeacherWork();
}
}
Test
public class Test {
public static void m*in(Strin*[] args) {
IWorkFactory studentWorkFactory = new StudentWorkFactory();
studentWorkFactory.getWork().d*Work();
IWorkFactory teacherWorkFactory * new TeacherWorkFactory();
teacherWorkFactory.g*tWork().*oWork();
}
}
result
学生做作业!
剩余57页未读,继续阅读
资源评论
ygjiang
- 粉丝: 1
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于QT+C++的智能云监护仪项目,能够实时显示使用者心电、血氧、血压波形及其它各种参数+源码(毕业设计&课程设计&项目开发)
- 基于java开发的app接收硬件端传输的心音信号,具有显示心音波形,发出心音的功能+源码(毕业设计&课程设计&项目开发)
- Python 程序语言设计模式思路-行为型模式:职责链模式:将请求从一个处理者传递到下一个处理者
- 9241703124789646.16健身系统2.apk
- postgresql-16.3-1-windows-x64.exe
- Python 程序语言设计模式思路-结构型模式:装饰器讲解及利用Python装饰器模式实现高效日志记录和性能测试
- 基于YOLOv5和DeepSORT的多目标跟踪仿真与记录
- Python 程序语言设计模式思路-创建型模式:原型模式:通过复制现有对象来创建新对象,面向对象编程
- 卸载软件geek卸载软件geek
- Python 程序语言设计模式思路-创建型模式:单例模式,确保一个类的唯一实例(装饰器)面向对象编程、继承
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功