• 【读书笔记】大话设计模式


     最近读了一本关于设计模式的书《大话设计模式》,该书以叙述故事的形式,讲述了很多的设计模式,让人耳目一新,印象深刻。

     

    1. 状态模式
           1)定义
     
         2)模式图
     
         3)个人体会:
         定义了一个 状态的接口,各种状态就可以实现这个接口,增加状态时,就直接增加子类就行了,不用动别的子类。省去了很多 if else的判断,满足了 ‘开发-闭合’原则
     
     
    1. UML类图
    1. 适配者模式
        1)类图:
     
           2)姚明在 NBA打球,需要翻译的例子
     
    1. 备忘录模式
              1)就是讲一个 类的状态保存在一个叫备忘录的类中,这样可以在需要的时候恢复这个类的这些状态。
    列举的例子是  打游戏保存进度的例子。但是这样会比较耗费内存资源
     
    1.     组合模式
        1)类图:
     
         2)组合模式,就是 实现 有部分 和 整体的关系时,可以使用,实际的例子就是  分公司和 总公司的关系等 树形结构
     
       6. 迭代器模式
     
         1)就是循环遍历,比如 PHP语言中已经实现了 foreach
     
     7. 单例模式
              1)单例模式,保证一个类,只被实例化一次。可以将这个类的构造方法变成是 protect或者是 private类型的,这样防止这个类,在外部通过new被实例化,而是在其内部,提供一个 getInstance的函数,检查实体是否存在,存在直接返回,不存在,在创建。
                   比如公司常见的 client的实例化,就是 UserClient::getInstance()
     
        8.桥接模式(聚合/合成模式)
     
         1) 模式的定义,少用继承,多用合成
     
    1. 命令模式:

  • 相关阅读:
    select/poll/epoll 对比
    I/O Mutiplexing poll 和 epoll
    Socket 编程IO Multiplexing
    ubuntu12.04 lts 安装gcc 4.8
    time since epoch
    ceph-RGW Jewel版新概念
    支持向量机(svm)
    MachineLearning之Logistic回归
    ML之回归
    ML之监督学习算法之分类算法一 ——— 决策树算法
  • 原文地址:https://www.cnblogs.com/aiweixiao/p/5767434.html
Copyright © 2020-2023  润新知