Java设计模式-图解-附代码

2019-03-29 11:23

Java设计模式-图解-附代码

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

目录

目录 ..................................................................................................................................................... 1 1. 设计模式 ........................................................................................................................................ 2

1.1 创建型模式 .......................................................................................................................... 2

1.1.1 工厂方法 ................................................................................................................... 2 1.1.2 抽象工厂 ................................................................................................................... 4 1.1.3 建造者模式 ............................................................................................................... 6 1.1.4 单态模式 ................................................................................................................... 6 1.1.5 原型模式 ................................................................................................................. 10 1.2 结构型模式 ........................................................................................................................ 11

1.2.1 适配器模式 ............................................................................................................. 12 1.2.2 桥接模式 ................................................................................................................. 13 1.2.3 组合模式 ................................................................................................................. 15 1.2.4 装饰模式 ................................................................................................................. 17 1.2.5 外观模式 ................................................................................................................. 19 1.2.6 享元模式 ................................................................................................................. 20 1.2.7 代理模式 ................................................................................................................. 23 1.3 行为型模式 ........................................................................................................................ 24

1.3.1 责任链模式 ............................................................................................................. 25 1.3.2 命令模式 ................................................................................................................. 27 1.3.3 解释器模式 ............................................................................................................. 28 1.3.4 迭代器模式 ............................................................................................................. 30 1.3.5 中介者模式 ............................................................................................................. 32 1.3.6 备忘录模式 ............................................................................................................. 34 1.3.7 观察者模式 ............................................................................................................. 36 1.3.8 状态模式 ................................................................................................................. 38 1.3.9 策略模式 ................................................................................................................. 40 1.3.10 模板方法 ............................................................................................................... 42 1.3.11 访问者模式 ........................................................................................................... 43

1

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

1. 设计模式

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

类图

2

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 { 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

学生做作业! 老师审批作业!

3

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

1.1.2 抽象工厂

提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。

适用性

1.一个系统要独立于它的产品的创建、组合和表示时。 2.一个系统要由多个产品系列中的一个来配置时。

3.当你要强调一系列相关的产品对象的设计以便进行联合使用时。 4.当你提供一个产品类库,而只想显示它们接口而不是实现时。

参与者

1. AbstractFactory

声明一个创建抽象产品对象的操作接口。 2.ConcreteFactory

实现创建具体产品对象的操作。 3.AbstractProduct

为一类产品对象声明一个接口。 4.ConcreteProduct

定义一个将被相应的具体工厂创建的产品对象。 实现abstractProduct接口。 5.Client

仅使用由AbstractFactory和AbstractProduct类声明的接口

类图

例子

*bstractFactory

public interface IAnimalFactory { ICat createCat();

IDog createDog(); }

ConcreteFactory

public class BlackAnimalFactory implements IAnimalFactory { public ICat createCat() { return new BlackCat(); }

public IDog createDog() { return new BlackDog(); }

4


Java设计模式-图解-附代码.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2009中考分类汇编-二次函数

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

马上注册会员

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