- 博客(8)
- 收藏
- 关注
原创 设计模式-模板方法模式
在模板设计方法中,只存在父类与子类之间的继承关系。在抽象父类中提供一个称之为模板方法的方法来定义这些基本方法的执行次序,而通过其子类来覆盖某些步骤,从而使得相同的算法框架看可以有不同的执行结果。其UML类图如下所示:从图可以看出模板设计方法中只包含了两种角色:(1)AbstractClass(抽象类):在抽象类中定义了一系列基本操作,这些操作可以是抽象的,也可以是具体的。每个基本操作对应算法的一个步骤,在其子类中可以重定义或实现这些步骤。在抽象类中实现了一个模板方法,用于定义一个算法的框架。
2024-06-03 07:55:11
592
原创 设计模式-策略模式
在策略模式中,定义了一些独立的类来封装不同的算法,每个类封装一种具体的算法。每个封装算法的类都可以称为一种策略。策略模式的主要目的时将算法的定义和使用进行分开,也就是将算法的行为和环境分开。将算法的定义专门放在专门的策略类中,每个策略类封装了一种实现算法。策略模式:定义一系列算法类,将每一个算法类封装起来,并让它们可以相互替换。其UML类图如下所示从UML类图中不难看出策略模式主要包含了以下三个角色(1)Context(环境类):环境类时使用算法的角色,它在解决某个问题时可以采用多种策略。
2024-05-29 08:02:37
547
原创 设计模式-观察者模式
观察者模式定义对象的之前的一种一对多的依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。其UML类图如下所示:由图可以看出观察者模式包含了以下四个角色:(1)Subject(目标):它是指被观察的对象。在目标中定义了一个观察者集合,一个观察者集合可以接收任意数量的观察者来进行观察。同时定义了通知方法notify()。(2) ConcreteSubject(具体目标):是目标类的子类。当他的状态发生改变的时候,向其各个观察者发出通知。
2024-05-27 21:56:34
728
原创 设计模式-命令模式
将一个请求封装成一个对象,从而可用不同的请求对客户进行参数化;对请求排队或者记录请求日日志,以及支持可撤销的操作。命令模式是一种对象行为型模式,其别名为动作模式或事务模式。其UML类图如下所示命令模式的关键在于引入了命令类。请求发送者只需要指定一个命令对象,再通过命令对象来调用请求接收者的处理方法。在命令模式结构图中包含以下四个角色:(1)Command(抽象命令类):抽象类或者接口,在其中声明了用于执行请求的execute()等方法,这些方法可以调用请求接收者的相关操作。
2024-05-22 08:33:47
268
原创 设计模式-职责链模式
避免将请求的发送者和接收者耦合在一起,让多个对象都有机会接收请求,将这些对象连接成一条链,并且沿着这条链传递请求,直到有对象处理它为止。职责链模式是一种行为型模式。其UML类图如下所示职责链模式中包含了以下两个角色(1)Handler(抽象处理者):其中定义了一个抽象方法;还有一个抽象处理者类型的对象successor作为其对后续处理者的引用(2)ConcreteHandler(具体处理者):实现了抽象处理者中的抽象处理方法作为具体的处理者。
2024-05-21 08:19:23
244
原创 Java中的AtomicInteger
AtomicInteger是java1.5中java.util.concurrent.atomic下的一个类。
2024-05-14 14:20:34
327
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人