HeadFirst设计模式 读书笔记

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

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

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


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

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

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

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

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

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

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




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

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

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

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

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



OO基础: 

抽象、封装、多态、继承

OO原则:

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

OO模式:

策略模式


















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

相关文章推荐

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

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

《HeadFirst设计模式》读书笔记-第9章-迭代器模式

定义 迭代器模式(iterator pattern)提供一种方法顺序访问一个集合对象中的各个元素,而又不暴露其内部的表示。 迭代器模式把遍历集合内元素的操作交给了迭代器,而集合本身专注在管理元素,...

《HeadFirst设计模式》读书笔记-第6章-命令模式

定义 命令模式(command pattern)将请求封装成对象,以便使用不同的请求,队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。 从类图可以看出,一个命令对象通过在特定接收者上...

《HeadFirst设计模式》读书笔记-第1章-策略模式

定义策略模式(strategy pattern)定义了算法族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化独立于使用算法的客户类图代码实现定义飞行/呱呱叫行为的接口,因为飞行行为和呱呱叫行...

【读书笔记】HeadFirst设计模式——命令模式简述

今天又复习了一遍命令模式 命令模式是指,将“请求”封装成命令对象。命令对象是通过封装接收者和绑定一组动作来封装请求的。 通过命令模式,将动作的请求者和动作的执行者进行解耦。即请求的调用者只接收并处...

【读书笔记】HeadFirst设计模式——单件不简单:详述实现Singleton模式需要考虑的方方面面

(参考: 深入浅出单实例Singleton设计模式 ) 什么是单件? 单件就是保证一个类仅有一个实例,并提供一个访问它的全局访问点。——GOF 单件模式简单吗? 简单,的确简单,因为只...

《HeadFirst设计模式》读书笔记-第5章-单例模式

定义 代码实现 包含的OO原则 本章金句 10.

《HeadFirst设计模式》读书笔记-第2章-观察者模式

定义观察者模式(observer pattern)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会接收到通知并自动更新。类图代码实现下面以气象站为例子,说明观察者模式的实...

《HeadFirst设计模式》读书笔记-第4章-工厂模式

定义 类图 代码实现 包含的OO原则 本章金句 10.
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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