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

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

 

  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. 命令模式:

 


 

posted @ 2016-08-13 10:26  程序员的文娱情怀  阅读(219)  评论(0编辑  收藏  举报