行为型设计模式

简介: 行为型设计模式

命令模式:将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化,可以对请求排队或记录请求日志,以及支持可撤销的操作。


将调用操作的对象与知道如何实现该操作的对象解耦,在不同的时刻指定、排列和执行请求,支持取消、重做的操作,还可以记录整个操作日志。支持事务。


状态模式:允许一个对象在其内部状态改变时改变它的行为,让对象看起来似乎修改了它的类。


状态模式提供了一个更好的办法来组织与特定状态相关的代码,决定状态转移到逻辑不在单块的if或switch中,而是分布在各个状态子类之间,由于所有与状态相关的代码都存在与某个状态子类中,所以通过新的子类可以很容易地增加新的状态和转换。


职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接受者之间的耦合关系,将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。


有多个对象可以处理一个请求,哪个对象处理该请求事先并不知道要在运行时刻自动确定,让客户在不明确指定接受者的情况下,提交一个请求,然后由所有能处理这请求的对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。


模板方法:定义一个操作的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些步骤。如果我们在一个以上的地方看到相同的程序结构,那么可以肯定,设法将他们合而为一,程序会变得更好。但是完全相同的代码当然存在明显的重复,而微妙的重复会出现在表面不同但是


目录
相关文章
|
10小时前
|
设计模式 算法 Java
行为型设计模式-策略模式(Strategy Pattern)
行为型设计模式-策略模式(Strategy Pattern)
|
7月前
|
设计模式 移动开发 数据库
行为型设计模式10-解释器模式
行为型设计模式10-解释器模式
50 1
|
7月前
|
设计模式 调度
行为型设计模式09-中介者模式
行为型设计模式09-中介者模式
24 0
|
10小时前
|
设计模式 算法 Java
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
[设计模式Java实现附plantuml源码~行为型]定义算法的框架——模板方法模式
|
10小时前
|
设计模式 JavaScript Java
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
[设计模式Java实现附plantuml源码~行为型] 对象状态及其转换——状态模式
|
10小时前
|
设计模式 Go
[设计模式 Go实现] 行为型~迭代器模式
[设计模式 Go实现] 行为型~迭代器模式
|
10小时前
|
设计模式 Go
[设计模式 Go实现] 行为型~职责链模式
[设计模式 Go实现] 行为型~职责链模式
|
7月前
|
设计模式 算法
行为型设计模式11-访问者模式
行为型设计模式11-访问者模式
27 1
|
10小时前
|
设计模式 算法 调度
行为型设计模式:模板设计模式/观察者设计模式/策略设计模式/责任链设计模式
行为型设计模式:模板设计模式/观察者设计模式/策略设计模式/责任链设计模式
35 0
|
7月前
|
设计模式 存储 算法
Java 23种设计模式介绍以及代码示例 第三篇行为型设计模式
使用行为型设计模式可以帮助我们更好地组织和管理对象之间的交互行为,提高代码的可重用性、可扩展性和维护性。下面是一些在Java中使用行为型设计模式的理由: 1. 利于代码的重用:通过使用行为型设计模式,我们可以将通用的行为逻辑封装到可重用的组件中,减少重复编写代码的工作量。 2. 降低耦合度:行为型设计模式将对象之间的交互行为解耦,使得各个对象之间的依赖性降低,从而提高了系统的灵活性和可维护性。 3. 提高代码的可扩展性:通过使用行为型设计模式,我们可以方便地添加新的行为或修改现有的行为,而不需要修改已有的代码,减少了对原有代码的影响。 4. 提高代码的可读性:行为型设计模式将不同的行为
35 0