Head First设计模式 1 设计模式入门

Posted 张小贱1987

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Head First设计模式 1 设计模式入门相关的知识,希望对你有一定的参考价值。

关于基本的OOP特征:

OOP的几大特征是抽象 继承 封装 多态。

我们把共同的部分抽象出来作为抽象类的存在,使用继承和接口来实现多态,然后私有的部分封装起来。一定程度上说,这些概念都是简单的设计模式。

设计原则1:

找出应用中可能需要变化的部分,把他们独立出来,不要和那些不需要变化的部分融合在一起。

设计原则2:

针对接口编程,而不是针对实现编程。

这里的接口包含抽象类。

设计原则3:

多用组合 少用继承。

组合和继承都能作为将不变的代码和变化的代码分开的方式,但是组合更加灵活,可以将一个依赖的行为封装为一个类,然后通过接口的方式引入,这样不会依赖于类的层级结构,而且可以在运行的时候动态改变(通过set方法改变依赖的组合对象)。

通俗的讲,继承是一种"是一个"的关系,组合是一种"有一个"的关系,大部分情况下我们需要的都是"有一个"。

策略模式:

定义一系列的算法,把每一个算法封装起来, 并且使它们可相互替换。

个人觉得,一定程度上说,策略模式就是组合的简单实用场景。如,鸭子的"叫"行为,不同的鸭子这种行为变现不同,有的呱呱叫,有的不会叫,我们把这种行为设置为一个接口,然后定义几种不同的叫的实现,以组合的方式注入到不同的鸭子里。策略模式常见到都不能认为是一种模式了,已经是一种通用的编码方式了。

 

 

以上是关于Head First设计模式 1 设计模式入门的主要内容,如果未能解决你的问题,请参考以下文章

head first 设计模式pdf

Head First设计模式分析学习

Head First 设计模式之模板方法模式

Head First 设计模式之单件模式(Singleton Pattern)

Head First 设计模式 --10 状态模式

Head First 设计模式-状态模式