Java中23种经典设计模式

时间:2025-05-13

Java中23种设计模式

目录

1. 设计模式 ........................................................................................................................................ 2

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

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

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

1.3.1 责任链模式 ............................................................................................................. 35 1.3.2 命令模式 ................................................................................................................. 38 1.3.3 解释器模式 ............................................................................................................. 41 1.3.4 迭代器模式 ............................................................................................................. 43 1.3.5 中介者模式 ............................................................................................................. 47 1.3.6 备忘录模式 ............................................................................................................. 50 1.3.7 观察者模式 ............................................................................................................. 52 1.3.8 状态模式 ................................................................................................................. 56 1.3.9 策略模式 ................................................................................................................. 59 1.3.10 模板方法 ............................................................................................................... 61 1.3.11 访问者模式 ........................................................................................................... 63

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

类图

例子 *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(); st …… 此处隐藏:9066字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java中23种经典设计模式.doc 将本文的Word文档下载到电脑

    精彩图片

    热门精选

    大家正在看

    × 游客快捷下载通道(下载后可以自由复制和排版)

    限时特价:7 元/份 原价:20元

    支付方式:

    开通VIP包月会员 特价:29元/月

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