行为模式是一种描述在软件设计中对象之间的通信模式的设计模式。这种模式主要关注对象之间的责任分配,也就是对象如何与其他对象交互,以及如何控制复杂的流程。
行为模式不仅仅关注对象的结构和它们的接口,而且还关注它们之间的消息传递和协作。它们可以描述复杂的控制流,这些控制流可能很难跟踪运行时,因为它们依赖于程序的运行时状态。
总的来说,行为模式描述了程序在运行时复杂的流程控制结构。由于它们涉及到对象之间的交互,因此行为模式是关于如何在对象之间划分责任和工作的
1. 封装变化
行为模式通过封装变化实现软件设计的灵活性。在软件开发的过程中,需求可能会发生变化,通过封装变化,可以使得系统在需求变化时,只需要修改对应的部分,不会影响到其他部分的功能,从而提高软件的可维护性和可扩展性。
2.对象作为参数
在行为模式中,对象通常作为参数传递。这样可以将行为动态地分配给对象,对象可以在运行时改变其行为。同时,通过将对象作为参数,可以实现更高级别的抽象和封装。
3.通信应该被封装还是被分布
通信是应该被封装在单个对象内,还是分布到多个对象之间,以达到更好的解耦效果;
观察者模式中,我们将通讯分布到多个对象里,也就是多个观察者里;
中介者模式中,我们将通讯封装到单个对象里,这个对象起到中介者角色,对象直接解耦;
4.发送者和接收者解耦
发送者和接收者不直接联系,而是通过一个中介者对象进行交互,降低对象之间的耦合度,提高系统的模块化和可维护性;命令模式中就是这样;
行为模式不仅仅关注对象的结构和它们的接口,而且还关注它们之间的消息传递和协作。它们可以描述复杂的控制流,这些控制流可能很难跟踪运行时,因为它们依赖于程序的运行时状态。
总的来说,行为模式描述了程序在运行时复杂的流程控制结构。由于它们涉及到对象之间的交互,因此行为模式是关于如何在对象之间划分责任和工作的
1. 封装变化
行为模式通过封装变化实现软件设计的灵活性。在软件开发的过程中,需求可能会发生变化,通过封装变化,可以使得系统在需求变化时,只需要修改对应的部分,不会影响到其他部分的功能,从而提高软件的可维护性和可扩展性。
2.对象作为参数
在行为模式中,对象通常作为参数传递。这样可以将行为动态地分配给对象,对象可以在运行时改变其行为。同时,通过将对象作为参数,可以实现更高级别的抽象和封装。
3.通信应该被封装还是被分布
通信是应该被封装在单个对象内,还是分布到多个对象之间,以达到更好的解耦效果;
观察者模式中,我们将通讯分布到多个对象里,也就是多个观察者里;
中介者模式中,我们将通讯封装到单个对象里,这个对象起到中介者角色,对象直接解耦;
4.发送者和接收者解耦
发送者和接收者不直接联系,而是通过一个中介者对象进行交互,降低对象之间的耦合度,提高系统的模块化和可维护性;命令模式中就是这样;