zoukankan      html  css  js  c++  java
  • python设计模式 读书笔记

    模板模式:抽取通用部分,实现代码复用
    责任链模式:请求被多个节点执行 或 请求沿着责任链传递,直到被某个节点处理
    观察者模式:请求被多个节点执行【主题实现add/remove/notify接口,所有观察者实现统一的update接口,notify会调用所有观察者的update接口】
    状态模式:在状态改变之前或之后做某些动作
    策略模式:动态选择算法(根据入参动态决定执行哪个函数)

    工厂模式:根据入参返回不同对象【虽然返回了不同的对象,但这些对象都有一样的方法,只是不同对象对方法的实现不一样】
    建造者模式:分多个函数完成发杂对象的创建(工厂模式是单步创建对象,建造者模式分多步创建,并始终使用一个指挥者)
    原型模式:克隆对象(deepcopy)

    适配模式:在外面包了一层代码,使两个接口能正常通信(将旧类换个名字赋给新类self.__dict__[newname]=
    修饰模式:扩展对象的功能【扩展已有程序,扩展手段除了修饰还有一种就是继承】
    外观模式:在复杂对象之上实现一个抽象层,为复杂系统提供简单入口
    单例模式:通过重写__new__实现
    MVC:解耦界面和业务逻辑
    代理模式:为接口加个保护层(在新类里实例化了要保护的类)

    ===========

    观察者模式定义了对象间的一对多依赖

    装饰者模式中装饰着包含被装饰者的引用

    类适配器通过多重继承实现;对象适配器通过组合实现

    外观模式:提供一个接口来访问子系统的一群接口:如家庭影院

    适配器改变了对象的接口;装饰器改变了对象的行为

    模板方法通过继承实现,父类定义了一个算法的步骤(大纲),允许子类为一个或多个步骤提供特定的实现
    子类中通过覆盖钩子方法来影响父类中算法的步骤

    策略模式也是通过继承实现,父类中组合了好多其他类型,子类中指明其他类型到底是啥(各种鸭子叫声不同)

    工程模式也是通过继承实现,子类中决定实例化哪个类

     

  • 相关阅读:
    shop++之language
    shop++改造之ResponseEntity的坑
    shop++改造之Filter类
    mysql关联模糊查询他表字段
    mysql一张表多个字段关联另一张表查询
    html页面导出为excel表格
    layui打印html页面转成pdf
    jQuery视频格式的验证
    jQuery图片灯箱和视频灯箱
    空间谱专题16:信号个数估计
  • 原文地址:https://www.cnblogs.com/testzcy/p/12213694.html
Copyright © 2011-2022 走看看