• 设计模式心得


    1.继承是系统进化的主要手段,设计模式根据讨论方向分为三种,其一,讨论对象与场景的关系,以改善继承,以利于系统进。其二,讨论类的组合,其三,讨论类树的管理。最终目的是为进化中的系统提供代码结构优化的种种便利。

    2. 工厂方法,原型,单例实际上是讨论对象与场景的关系。工厂方法实现了类与场景的代码级别的隔离,方便类的独立进化。原型分离了对象的初始化与对象的使用,为两个不同应用场景的交互提供便利,单例实际上从资源的角度限制场景对对象的使用次数。

    解释器也是对象与场景的关系,工厂方法生产对象,解释器生产行为,类似于某种配置化,脚本化,为系统提供最到灵活性。 

    3. 建造者,桥接,组合,外观,享元,责任链,命令,迭代器,中介者,备忘录,观察者,状态,策略,访问者都是在讨论组合。

    首先,程序里有数据和方法,或者有一个大类里,有很多方法和数据,一回事。这些东西要根据规则拆分成小类,才能利用实现模块化管理和进化。

    其一,根据规模或进化速度拆分,进化速度不同的原有类的组成部分,分出无继承关系若干类,组合起来共同完成某功能。

          比如,建造者,属于构造函数体量比较大,策略模式,属于部分方法有更多的变化,享元,干脆是把固定的部分和可变的部分分离开,节省资源。访问者,属于把变化较多的部分提取出来独立进化。

    其二, 根据功能进行拆分,达到一些特殊的设计需求,或实现单一职责。当然,分离出来的职责方发育的比较大,职责比较多,也是重要指标。

    观察者,观察者与被观察者之间有着不同的需求走向,状态模式,封装状态相关的方法,省略分支语句。命令模式,封装方法的调用。迭代器模式,封装类的数据访问。备忘录模式,封装类的整体context,提供恢复支持。
     其三,拆分后会有关系问题。

      桥接,直接调用,组合,方便管理,责任链,实现处理流程管线化。中介者模式,使类的关系松耦合。外观模式,把调用方的操作集成化。

    4.继承树相关

    模板方法,定义框架,子类实现功能。

    代理模式,由代理决定使用哪个子类。

    装饰器模式,通过继承在调用前后增加一些操作。

    适配器实际上是一种广义的继承,应在是场景调用时配合使用的。


    前述所有对象 类都可以替换为程序,程序集,进程。

          

  • 相关阅读:
    java读取和设置配置文件中的属性参数
    win7 x64位 下安装 Vue 开发环境
    mysql 字段中 去除空格
    easyuiswitchbutton 样式错位问题
    解决windows下环境变量太长而无法添加的问题
    windows10我的电脑打不开
    vs无法打开包括文件corecrt.h
    Python,C++中点云 .las转.pcd
    yolov5目标检测基本思想
    python安装第三方包的方法
  • 原文地址:https://www.cnblogs.com/baozhu/p/5187360.html
Copyright © 2020-2023  润新知