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

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

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

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

    ===========

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

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

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

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

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

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

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

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

     

  • 相关阅读:
    git push :推送本地更改到远程仓库的三种模式
    GIT版本库回滚【图文版】
    微服务架构的分布式事务解决方案
    断路器-Hystrix的深入了解
    Elasticsearch顶尖高手系列课程推荐
    Dockerfile分离构建LNMP环境部署wordpress
    ELK 聚合查询
    tomcat日志采集
    ELK采集之nginx 之高德地图出城市IP分布图
    Elasticsearch 安装与集群配置
  • 原文地址:https://www.cnblogs.com/testzcy/p/12213694.html
Copyright © 2011-2022 走看看