正式开始坚持写一些技术博客,我只是一个刚刚踏入计算机行业的菜鸟,能够写的东西也没有多少技术含量,但不管怎样,我已在路上,希望和同样走在这条道路上的小伙伴们共勉。文中的一些观点或是对技术的理解仅仅是建立在我目前水平基础之上的,难免会有错误或是可能误导别人的地方,还请各位看客批评指正,大家共同讨论,一起进步。
最近看了《Head First 设计模式》这本书,就拿它的读书笔记来当作我技术博客的开篇吧。第一章的策略模式以一个模拟鸭子应用为背景,应用中有各种类型的鸭子,主要可以完成swim、quack、display等动作。刚开始的设计如下图所示:
对于初学OOP者来说脑子里最先冒出这样的方案是再正常不过的了,构造一个Duck基类,然后所有种类的鸭子都继承自Duck,这正是面向对象程序设计中所提到的方法。但是现在考虑对这些鸭子做些有趣的改变,让它们能够飞起来,于是理所当然地考虑在Duck这个基类里面加一个fly()方法,让所有子类都能继承这个fly()方