java设计模式简介(3)

行为模式:

      作用:处理在不同对象之间指定责任的细节;描述对象间的通信机制;定义一种机制,以便于在运行时根据不同的对象选择不同的逻辑。

1.       命令:将请求封装成对象,通过对象来实现对请求的控制,包括排队,顺序执行和取消。使用命令模式可以消除调用者与服务提供者之间的耦合。它建议根据客户请求创建要执行的处理或要采取的动作。

2.       调停者:将一组对象之间直接通信的详细信息封装在一个独立的对象(调停者)中,从而减少这些对象各自直接交互的需要。调停者模式为一组对象设计一个控制/合作连接模型,由调停者控制对象之间的交互细节,以避免大量对象相互直接引用造成的混乱。

3.       备忘录:将对象的状态捕获并且存储,根据需要,这个对象能恢复到先前的状态。

4.       观察者:提供一种发布—订阅的通信模型,当对象间有一对多的依赖关系时,只要一个对象改变了它的状态,所有依赖于它的对象都获得通知,于是他们也能更新自己的状态。

5.       解释器:为了是一个客户程序有能力用一种简单的语言定义一些操作,这个模式是非常有用的。设计一个类层次结构来表示一组语法规则,每一个类表示一个独立的语法规则。设计一个解释器模块来解释语句以执行必要的操作,这些语句是由上面设计的类构成。

6.       状态:将对象的状态相关行为封装在一组状态对象中。通过将状态相关的行为一一映射到指定的状态对象中,这个对象可以同过配置一个正确的状态对象来改变它的行为。

7.       策略:将一组相关算法各自封装在不同子类(策略对象)中。如果一个对象要使用一种算法,它需要配置一个对应的策略对象。通过这种安排,算法的实现可以在不影响客户端的情况下改变。

8.       空对象:提供一种方法来封装指定的对象类型的一种行为(通常是什么都不做)。当某一种对象类型没有任何对象可用时,这个对象可以提供一个默认的行为。使用空对象模式,客户程序就不需要每次都检查一个对象是否为空对象。

9.       模板方法:当一种算法的若干步骤可以用多种不同的方式实现的时候,就可以使用模板方法模式。这时候,我们利用模板方法模式把整个算法的整体框架作为一个单独的方法,这个方法叫做模板方法,这个方法所在的类就称为模板类。然后,把算法中的可变部分(那些可以用多种不同的方法实现的步骤)分别实现到这个类的不同子类中去。这种实现可以避免编写重复的代码,以达到代码行数最小化。

10.  对象认证器:当访问一个应用对象是受限的并且需要客户对象提供正确的授权时,这个模式是有用的。可以使用一个独立的对象,它的职责是校验不同客户对象的访问级别而不是将这个职责留给应用对象。

11.  通用属性注册表(CAR):提供一种方法用于设计一个资源库来存储一个应用的状态。通用属性注册表是一个对象,它提供方法使得不同的应用对象可以设置和获得不同的属性值,这个对象不是一个持久对象,存储在CAR中的数据只能在使用该CAR的应用程序的生存周期内有效。一旦程序结束或者系统崩溃,CAR里的数据就会丢失。换句话说,CAR可以用来保存应用程序中的公用易失数据和状态。它也可以作为数据库少量数据的缓存来使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值