北京如何做网站,如何开发网站软件app软件,网站页面设计怎么分析,成都网站设计与制作接前一篇文章#xff1a;软考 系统架构设计师系列知识点之设计模式#xff08;4#xff09; 所属章节#xff1a;
老版#xff08;第一版#xff09;教材
第7章. 设计模式 第2节. 设计模式实例 3. 行为型模式
行为型模式可以影响一个系统的状态和行为流。通过优化状态…接前一篇文章软考 系统架构设计师系列知识点之设计模式4 所属章节
老版第一版教材
第7章. 设计模式 第2节. 设计模式实例 3. 行为型模式
行为型模式可以影响一个系统的状态和行为流。通过优化状态和行为流转换和修改的方式可以简化、优化并且提高应用程序的可维护性。行为型模式包括
Chain of ResponsibilityCommandInterpreterIteratorMediatorMementoObserverStateStrategyTemplate MethodVisitor
7Observer模式
Observer模式为组件向相关接收方广播消息提供了灵活的方法。该模式定义了对象间一到多的依赖关系这样当对象改变状态时将自动通知并更新它所有的依赖对象。
Observer模式的优点如下
抽象了主体与Observer之间的耦合关系。支持广播方式的通信。
在以下情况中应该使用Observer模式
对一个对象的修改涉及对其它对象的修改而且不知道有多少对象需要进行相应修改。对象应该能够在不用假设对象标识的前提下通知其它对象。
8State模式
State模式允许对象在内部状态变化时变更其行为并且修改其类。
State模式的优点如下
定位指定状态的行为并且针对不同状态来划分行为使状态转换显式进行。
在以下情况中应该使用State模式
对象的行为依赖于其状态并且该对象必须在运行时根据其状态修改其行为。操作具有大量以及多部分组成的取决于对象状态的条件语句。
9Strategy模式
Strategy模式定义了一组能够用来表示可能行为集合的类。这些行为可以在应用程序中使用来修改应用程序功能。
Strategy模式的优点如下
另一种子类化方法。在类自身中定义了每一个行为这样就减少了条件语句。更容易扩展模型。在不对应用程序进行代码修改的情况下该模式具有新的行为。
在以下情况中应该使用Strategy模式
许多相关类只是在行为方面有所区别。需要算法的不同变体。算法使用客户端未知的数据。
10Template Method模式
Template Method模式提供了在不重写方法的前提下允许子类重载部分方法的方法。在操作中定义算法的框架将一些步骤由子类实现。该模式可以在不修改算法结构的情况下让子类重新定义算法的特定步骤。
Template Method模式的优点如下
代码重用的技术基础。
在以下情况中应该使用Template Method模式
想要依次实现算法的不变部分而使用子类实现算法的可变行为。当子类间的通用行为需要分解、定位到通用类的时候这样可以避免代码重复的问题。
11Visitor模式
Visitor模式提供了一种方便的、可维护的方法来表示在对象结构元素上要进行的操作。该模式允许在不改变操作元素的类的前提下定义一个新操作。
Visitor模式的优点如下
更容易添加新操作。集中相关操作并且排除不相关操作。
在以下情况中应该使用Visitor模式
对象结构包含许多具有不同接口的对象类并且想要对这些依赖于具体类的对象进行操作。定义对象结构的类很少被修改但想要在此结构之上定义新的操作。