zoukankan      html  css  js  c++  java
  • [Design] 设计模式行为模式

      行为模式主要是责任和算法的抽象化。行为模式不仅仅是关于类和对象的,而且是关于它们之间的相互作用的。

      行为模式分为类的行为模式和对象的行为模式两种。

    类的行为模式
        类的行为模式使用继承关系在几个类之间分配行为。
    对象的行为模式
        对象的行为模式则使用对象的聚合来分配行为。

    --------------------------------------------------------

     不变模式

      一个对象的状态在对象被创建之后就不再变化,这就是所谓的不变模式。

      采用不变模式的类一旦初始化后,其状态就不再改变了。这意味着不变模式不能提供任何的修改内部属性的方法,一旦构造函数构造完后其内部状态就保持不变。又分为强不变模式和弱不变模式,区别在于其子类是否也是不变的,准确的来说是其子类也不能修改父不变类的状态。当然为了方便我们可以索性设置为 sealed。

        不变类的好处在于允许任何多的对象共享,不需要在多线程访问的时候进行同步。缺点在于一旦要修改不变对象,只有重新创建一个新的实例。需要频繁修改的对象不能使用不变模式。享元模式中的享元对象多为不变类。

     策略模式

      策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立类中,从而使用得它们可以相互替换。策略模式使得算法可以在不影响到客户端的情况下发生变化。

  • 相关阅读:
    android数据恢复
    UVA 690 Pipeline Scheduling
    2017 国庆湖南 Day4
    2017 国庆湖南 Day5
    2017 国庆湖南 Day6
    2017国庆 清北学堂 北京综合强化班 Day1
    2017 国庆湖南Day2
    bzoj 2962 序列操作
    UVA 818 Cutting Chains
    UVA 211 The Domino Effect
  • 原文地址:https://www.cnblogs.com/abeen/p/1440828.html
Copyright © 2011-2022 走看看