设计模式(Java版)

22 人学过

课程内容
共33个章节 33个实验
1 设计模式——工厂模式

设计模式的概述

实验1 实验一:设计模式——工厂模式
设计模式代表了经验丰富的面向对象软件开发人员所使用的最佳实践。 设计模式是针对软件开发人员在软件开发过程中面临的一般问题的解决方案。 这些解决方案是在相当长的一段时间内由众多软件开发人员通过反复试验而获得的
2 设计模式-抽象工厂模式

抽象工厂

实验1 实验二:设计模式-抽象工厂模式
抽象工厂模式围绕创建其他工厂的超级工厂工作。这个工厂也被称为工厂中的工厂。这种类型的设计模式属于创建模式,因为该模式提供了创建对象的最佳方法之一。

在抽象工厂模式中,接口负责创建相关对象的工厂,而无需显式地指定它们的类。每个生成的工厂都可以根据工厂模式提供对象。

3 设计模式—单例模式

单例模式

实验1 实验三:设计模式—单例模式
单例模式是Java中最简单的设计模式之一。 这种设计模式属于创建模式,因为该模式提供了创建对象的最佳方法之一。

此模式涉及单个类,该类负责创建对象,同时确保仅创建单个对象。 此类提供了一种访问其唯一对象的方法,该对象可以直接访问而无需实例化该类的对象。

4 设计模式——生成器模式

生成器模式

实验1 实验四:设计模式——生成器模式
构建器模式使用简单对象并使用逐步方法来构建复杂对象。 这种设计模式属于创建模式,因为该模式提供了创建对象的最佳方法之一。
5 设计模式-原型模式

原型模式

实验1 实验五:设计模式-原型模式
原型模式是指在创建复制对象的同时考虑性能。这种类型的设计模式属于创建型模式模式,因为这种模式提供了创建对象的最佳方式之一。

此模式涉及实现原型接口,该接口告诉你创建当前对象的克隆。 当直接创建对象的成本很高时,使用此模式。 例如,要在进行昂贵的数据库操作后创建一个对象。 我们可以缓存对象,在下一个请求时返回其克隆,并在需要时更新数据库,从而减少数据库调用。

6 设计模式-适配器模式

适配器模式

实验1 实验六:设计模式-适配器模式
适配器模式充当两个不兼容接口之间的桥梁。 这种设计模式属于结构模式,因为该模式结合了两个独立接口的功能。

此模式涉及单个类,该类负责加入独立或不兼容接口的功能。 现实生活中的例子可能是读卡器,它充当存储卡和笔记本电脑之间的适配器。 你将存储卡插入读卡器,将读卡器插入便携式计算机,以便可以通过便携式计算机读取存储卡。

7 设计模式-桥接模式

桥接模式

实验1 实验七:设计模式-桥接模式
当我们需要将抽象与其实现解耦以便两者可以独立变化时,就使用了桥接。这种类型的设计模式属于结构化模式,因为这种模式通过在实现类和抽象类之间提供桥接结构来解耦它们。

这种模式涉及一个充当桥梁的接口,该接口使具体类的功能独立于接口实现者类。 两种类型的类都可以在结构上进行更改而不会互相影响。

8 设计模式-过滤器模式

过滤器模式

实验1 实验八:设计模式-过滤器模式
过滤器模式或“标准”模式是一种设计模式,使开发人员可以使用不同的标准来过滤一组对象,并通过逻辑操作以分离的方式链接它们。 这种类型的设计模式属于结构模式,因为该模式结合了多个条件以获得单个条件。
9 设计模式-复合模式

复合模式

实验1 实验九:设计模式-复合模式
复合模式用于需要以类似方式将一组对象视为单个对象的情况。 合成模式以树结构的形式构成对象,以表示部分以及整个层次结构。 这种设计模式属于结构模式,因为该模式创建了一组对象的树形结构

此模式创建一个包含其自己的对象组的类。 此类提供了修改其相同对象组的方法。

10 设计模式-装饰器模式

装饰器模式

实验1 实验十:设计模式-装饰器模式
装饰器模式允许用户在不更改其结构的情况下向现有对象添加新功能。 这种设计模式属于结构模式,因为该模式充当现有类的包装。

此模式创建一个包装原始类的装饰器类,并提供其他功能,使类方法的签名保持完整。

11 设计模式-外观模式

外观模式

实验1 实验十一:设计模式-外观模式
外观模式隐藏了系统的复杂性,并提供了到客户端的接口,客户端可以使用该接口访问系统。 这种设计模式属于结构模式,因为该模式向现有系统添加了接口以隐藏其复杂性。

该模式涉及单个类,该类提供了客户端所需的简化方法,并将调用委托给现有系统类的方法。

12 设计模式-享元模式

享元模式

实验1 实验十二:设计模式-享元模式
Flyweight模式主要用于减少创建的对象数量并减少内存占用并提高性能。 这种类型的设计模式属于结构模式,因为该模式提供了减少对象数量的方式,从而改善了应用程序的对象结构。

Flyweight模式尝试通过存储已存在的同类对象来重用它们,并在找不到匹配的对象时创建新对象。 我们将通过绘制20个不同位置的圆圈来演示这种模式,但我们只会创建5个对象。 只有5种颜色可用,因此color属性用于检查已经存在的Circle对象。

13 设计模式-代理模式

代理模式

实验1 实验十三:设计模式-代理模式
在代理模式中,一个类表示另一个类的功能。 这种设计模式属于结构模式。

在代理模式中,我们创建具有原始对象的对象,以将其功能连接到外部世界。

14 设计模式-责任链模式

责任链模式

实验1 实验十四:设计模式-责任链模式
责任链模式为请求创建了接收方对象链。 此模式根据请求的类型解耦请求的发送方和接收方。 这种模式属于行为模式。

在这种模式下,通常每个接收器都包含对另一个接收器的引用。 如果一个对象无法处理该请求,则将其传递给下一个接收者,依此类推。

15 设计模式-命令模式

命令模式

实验1 实验十五:设计模式-命令模式
命令模式是一种数据驱动的设计模式,属于行为模式类别。 将请求作为命令包装在一个对象下,然后传递给调用者对象。 调用程序对象寻找可以处理此命令的适当对象,并将该命令传递给执行该命令的相应对象。
16 设计模式-解释器模式

解释器模式

实验1 实验十六:设计模式-解释器模式
解释器模式提供了一种评估语言语法或表达的方式。 这种模式属于行为模式。 这种模式涉及实现一个表达式接口,该接口告诉您解释特定的上下文。 此模式用于SQL解析,符号处理引擎等。
17 设计模式-迭代器模式

迭代器模式

实验1 实验十七:设计模式-迭代器模式
迭代器模式是Java和.Net编程环境中非常常用的设计模式。 此模式用于获得一种以顺序方式访问集合对象的元素的方式,而无需了解其基础表示形式。

迭代器模式属于行为模式类别。

18 设计模式:中介模式

中介模式

实验1 实验十八:设计模式:中介模式
中介器模式用于降低多个对象或类之间的通信复杂性。 此模式提供了一个调解器类,该调解器类通常处理不同类之间的所有通信,并通过松散耦合来支持代码的轻松维护。 中介者模式属于行为模式类别。
19 设计模式-备忘录模式

备忘录模式

实验1 实验十九:设计模式-备忘录模式
Memento模式用于将对象的状态恢复到以前的状态。记忆模式属于行为模式范畴。

Memento模式使用三个actor类。Memento包含要还原的对象的状态。发起者在Memento对象中创建和存储状态,看守对象负责从Memento中恢复对象状态。我们创建了Memento、Originator和carether类。

20 设计模式-观察者模式

观察者模式

实验1 实验二十:设计模式-观察者模式
观察者模式用于对象之间存在一对多关系时,例如,如果修改了一个对象,则会自动通知其从属对象。观察者模式属于行为模式范畴。

观察者模式使用三个actor类。受试者、观察者和委托人。Subject是一个对象,它具有将观察者附加和分离到客户机对象的方法。我们创建了一个抽象的类观察器和一个具体的类主题,该主题扩展了类观察器。

21 设计模式-状态模式

状态模式

实验1 实验二十一:设计模式-状态模式
在状态模式中,类的行为根据其状态而改变。这种类型的设计模式属于行为模式。

在状态模式中,我们创建表示各种状态的对象和一个上下文对象,其行为随状态对象的变化而变化。

22 设计模式-空对象模式

空对象模式

实验1 实验二十二:设计模式-空对象模式
在空对象模式中,空对象替换对空对象实例的检查。null对象反映了一种不做任何事情的关系,而不是对null值进行if检查。这种空对象还可以用于在数据不可用的情况下提供默认行为。

在空对象模式中,我们创建一个指定要执行的各种操作的抽象类、扩展这个类的具体类和一个空对象类,它提供这个类的donothing实现,并将在需要检查空值的地方无条件地使用。

23 设计模式-策略模式

策略模式

实验1 实验二十三:设计模式-策略模式
在策略模式中,类的行为或算法可以在运行时改变。这种类型的设计模式属于行为模式。

在策略模式中,我们创建了表示各种策略的对象和一个上下文对象,上下文对象的行为随策略对象的不同而变化。策略对象改变上下文对象的执行算法。

24 设计模式-模板设计

模板模式

实验1 实验二十四:设计模式-模板设计
在模板模式中,抽象类公开定义的方式/模板来执行其方法。 它的子类可以根据需要重写方法的实现,但是调用的方式应与抽象类所定义的方式相同。 此模式属于行为模式类别。
25 设计模式-访问者模式

访问者模式

实验1 实验二十五:设计模式-访问者模式
在“访客”模式中,我们使用访客类来更改元素类的执行算法。 这样,元素的执行算法可以随着访问者的变化而变化。 此模式属于行为模式类别。 按照该模式,元素对象必须接受访问者对象,以便访问者对象可以处理对元素对象的操作。
26 设计模式-MVC模式

MVC模式

实验1 实验二十六:设计模式-MVC模式
MVC模式代表模型-视图-控制器模式。此模式用于分离应用程序的关注点。
27 设计模式-业务代表模式

业务代表模式

实验1 实验二十七:设计模式-业务代表模式
业务委托模式用于分离表示层和业务层。它基本上用于减少表示层代码中业务层代码的通信或远程查找功能。
28 设计模式-复合实体模式

复合实体模式

实验1 实验二十八:设计模式-复合实体模式
EJB持久化机制采用复合实体模式。复合实体是表示对象图的EJB实体bean。当一个复合实体被更新时,内部依赖的对象bean会自动更新为由EJB实体bean管理的对象
29 数据访问对象模式

数据访问对象模式

实验1 实验二十九:数据访问对象模式
数据访问对象模式或DAO模式用于将访问API或操作的低级数据与高级业务服务分开
30 设计模式-前端控制模式

前端控制模式

实验1 实验三十:设计模式-前端控制模式
前端控制器设计模式用于提供集中式请求处理机制,以便所有请求都由单个处理程序处理。这个处理程序可以对请求进行身份验证/授权/日志记录或跟踪,然后将请求传递给相应的处理程序
31 设计模式-拦截过滤器模式

拦截过滤器模式

实验1 实验三十一:设计模式-拦截过滤器模式
当我们需要对应用程序的请求或响应进行一些预处理/后处理时,使用截取滤波器设计模式。在将请求传递给实际的目标应用程序之前,对请求定义并应用过滤器。过滤器可以对请求进行身份验证/授权/日志记录或跟踪,然后将请求传递给相应的处理程序。
32 设计模式-服务定位器模式

服务定位器模式

实验1 实验三十二:设计模式-服务定位器模式
当我们想使用JNDI查找来定位各种服务时,就使用服务定位器设计模式。考虑到查找服务JNDI的高成本,服务定位器模式使用了缓存技术。第一次需要服务时,服务定位器在JNDI中查找并缓存服务对象。通过服务定位器在其缓存中进一步查找相同的服务,极大地提高了应用程序的性能。
33 设计模式-传递对象模式

传输对象模式

实验1 实验三十三:设计模式-传递对象模式
传输对象模式用于在一次从客户机到服务器传递具有多个属性的数据。传递对象也称为值对象。Transfer对象是一个简单的POJO类,具有getter/setter方法,并且可以序列化,以便可以通过网络传输。它没有任何行为。服务器端业务类通常从数据库获取数据并填充POJO,然后将其发送给客户机或按值传递。对于客户端,传输对象是只读的。客户机可以创建自己的传输对象并将其传递给服务器,以便一次性更新数据库中的值。
设计模式(Java版)

共33个实验

参加本课程
设计模式 Java