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

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

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

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

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

     不变模式

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

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

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

     策略模式

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

  • 相关阅读:
    python读取文件报错:pandas.errors.ParserError: iterator should return strings, not bytes (did you open the file in text mode?)
    Python关键字排序
    Python中赋值和print笔记
    python元祖和文件用法举例
    Python 列表和字典用法解释
    python中字符串及字符串的格式化
    python动态类型简介
    Python中关于深复制和浅复制详细解释
    Python中常用数字类型
    python内置对象的一些知识
  • 原文地址:https://www.cnblogs.com/abeen/p/1440828.html
Copyright © 2011-2022 走看看