Java的23种设计模式(疯狂Java总结)

2019-08-31 18:02

Java设计模式(疯狂Java

联盟版)

Java设计模式(疯狂Java联盟版)

目录

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

1

Java设计模式(疯狂Java联盟版)

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协议的前提

下,允许和鼓励任何人进行全文转载及推广,我们放弃除署名权外的一切权利。

2

Java设计模式(疯狂Java联盟版)

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实例。

类图

3

Java设计模式(疯狂Java联盟版)

例子 *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 {

4


Java的23种设计模式(疯狂Java总结).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:浙江美丽乡村考察体会(20170613)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: