HeadFirst设计模式 读书笔记

原创 2017年01月04日 11:26:59

有些人已经解决你的问题了。  使用模式最好的方式是“把模式装进脑子里,然后在你的设计和已有的应用中,寻找何处可以使用它们”

以往是代码复用,现在是经验复用。


设计原则1:找出应用中可能需要变化,把它们独立出来,不要和那些不需要变化的代码混在一起。

所有的设计模式都提供了一套方法让“系统中某部分改变不会影响其他部分”

设计原则2:针对接口编程,而不是针对实现编程。

设计原则3:多用组合,少用继承。

设计原则4:为了交互对象之间的松耦合设计而努力

设计原则5:类应该对扩展开放,对修改关闭

设计原则6:要依赖抽象,不要依赖具体类




策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。

装饰者模式: 动态的将责任附加到对象上。若要拓展功能,装饰者提供了比继承更有弹性的代替方案。

工厂方法模式:定义了一个创建对象的接口,但由自雷绝顶要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

单件模式:确保一个类只有一个实例,并提供一个全局访问点。

命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。



OO基础: 

抽象、封装、多态、继承

OO原则:

封装变化、多用组合少用继承、针对接口编程,不针对实现编程

OO模式:

策略模式


















策略模式: 定义了算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
版权声明:本文为博主原创文章,未经博主允许不得转载。

<HeadFirst设计模式>笔记——命令模式

HeadFirst 设计模式 命令模式 摘抄
  • wilschan0201
  • wilschan0201
  • 2017年06月09日 14:00
  • 195

读《大话设计模式》和《head first 设计模式》心得

1.面向对象的编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是类。 2.如果你能够想到多于一个的动机去改变一个类,那么这个类就具有多于一个的职责...
  • fuqiaoyimeng
  • fuqiaoyimeng
  • 2013年11月10日 18:17
  • 1161

调侃《HeadFirst设计模式》之工厂模式(一)

今天我们再次跟随《HeadFirst设计模式》的脚步,
  • sinat_23092639
  • sinat_23092639
  • 2015年04月11日 21:23
  • 1768

【设计模式】HeadFirst设计模式(四):工厂模式

设计模式要求我们不应该针对实现编程,为了降低耦合度,提高可维护性。当程序中出现“new”的时候,就证明程序在实例化一个具体类,所以用的是实现,而不是接口。如果代码绑着具体的类会导致代码更加脆弱,缺乏弹...
  • u010800530
  • u010800530
  • 2015年05月31日 22:47
  • 979

【HeadFirst设计模式】1.策略模式

问题假定你们公司要做一套模拟鸭子游戏:SimUDuck。游戏中会出现各种鸭子,一边游泳戏水,一边呱呱叫。你想哈,这还不简单,我只要设计一个鸭子超类,并让各种鸭子继承此超类即可。呼哧呼哧,你撸起袖子就写...
  • hezhangping
  • hezhangping
  • 2016年07月29日 11:42
  • 315

HeadFirst设计模式读书笔记

简单的做下笔记,以后找起来方便。 1 策略模式 定义了算法族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。  设计原则: 找出应用中可能需要变化的部分,把他们独立出...
  • UFO___
  • UFO___
  • 2017年10月29日 14:10
  • 75

《HeadFirst设计模式》读后札记

一、策略 定义了算法组,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。OO原则 封装变化 多用组合,少用继承 针对接口编程,不针对实现编程二、观察者模式 定义...
  • dongqiushan
  • dongqiushan
  • 2016年10月27日 19:38
  • 287

Head First 设计模式学习笔记 ——策略模式

Head First 设计模式学习 ——策略模式简单理解     问题来源:     在子类继承父类时,如果子类不需要使用父类中的某些方法,该如何处理?     举个例子,如下图所示,父类Duck类抽...
  • u010429424
  • u010429424
  • 2016年07月27日 19:22
  • 459

读书笔记:《HeadFirst设计模式》

读书笔记:《HeadFirst设计模式》
  • zhaoidong
  • zhaoidong
  • 2017年04月04日 19:51
  • 311

《Head First 设计模式》学习笔记——状态模式

在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if... ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的...
  • huaxi1902
  • huaxi1902
  • 2014年06月02日 16:06
  • 1005
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:HeadFirst设计模式 读书笔记
举报原因:
原因补充:

(最多只允许输入30个字)