1、慢一点,你理解的越多,需要记的就越少。
2、勤做练习,自己记笔记。
3、上床睡觉之前不要再看别的书了,或者至少不再看其他有难度的东西。
4、要喝水,而且要多喝点水。
5、大声说出来。
6、听听你的大脑怎么说。
7、要有点感觉!
8、设计一点东西!
书中列举的设计原则:
1、封装变化。找出应用中可能需要变化之处,把他们独立出来,不要和那些不需要变化的代码混在一起。
2、针对接口编程,而不是针对实现编程。
举例说明:
假设有一个抽象类Animal,有两个具体的实现(Dog与Cat)继承Animal。
“针对实现编程”的做法:Dog d = new Dog();d.bark();
“针对接口编程”的做法:Animal animal = new Dog();animal.makeSound();
或者:Animal animal = getAnimal();animal.makeSound();
3、多用组合,少用继承。
原因:
a、继承会使类无限膨大,可能会使类变得臃肿。
b、子类可能会继承父类中那些无用甚至有害的方法。
c、组合比继承更灵活,可以实现在执行中动态改变对象的功能。
4、为了交互对象之间的松耦合设计而努力。
5、类应该对修改关闭,对扩展开放。
6、要依赖抽象,不要依赖具体类。
解释:不要让“高层组件”依赖“低层组件”,而且,不管“高层组件”还是“低层组件”,两者都应该依赖于抽象。
避免违反该原则的几个方针:
1)、变量不可以持有具体类的引用。
如果使用new,就会持有具体类的引用,可以使用工厂来避开这种引用。
2)、不要让类派生自具体类。
如果派生自具体类,就会依赖具体类,可以派生自抽象或接口。
3)、不要覆盖基类中已实现的方法。
如果覆盖基类中已实现的方法,那么基类就不是一个真正适合被继承的类。基类中已实现的方法应该被所有子类所共享。
7、最少知识原则。
解释:当你设计一个系统时,不管是任何对象,你都要注意与它交互的类有哪些,并注意它和这些类是如何交互的,尽量避免过多的类耦合在一起,带来维护成本的上升。
这个原则推荐的一些方针:
就任何对象而言,在该对象的方法内,我们只应该调用一下范围的方法
1)、该对象本身
2)、被当作方法的参数而传递进来的对象
3)、此方法所创建或实例化的任何对象
4)、对象的任何组件。
用代码加以说明:
public float getTemp()
{
// 没有采用该原则
Thermoment thermoment = station.getThermoment();
return thermoment.getTemperature();
}
public float getTemp()
{
// 采用该原则
return station.getTemperature();
}
分享到:
相关推荐
Head.First 设计模式学习笔记.pdf Head.First 设计模式学习笔记.pdf
HeadFirst设计模式学习笔记比较全面详细地讲解了13个设计模式,有利于大家更好的学习HeadFirst设计模式,希望亲们会喜欢~~~
Head First 设计模式学习笔记。更多内容请参见文章内容。
HeadFirst 设计模式学习笔记3--装饰模式 Demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5582561.aspx
HeadFirst 设计模式学习笔记2--观察者模式 demo http://blog.csdn.net/laszloyu/archive/2010/05/12/5581769.aspx
http://blog.csdn.net/laszloyu/archive/2010/05/11/5579765.aspx 示例代码
著名的《Head First Design Pattern》学习笔记,摘要这本书中的设计思路。由于书本过长,整理出笔记帮助回想起设计模式。文件是docx格式,只能由OFFICE Word 2007之后的版本打开,内附Visio类图文件。本文由个人整理...
NULL 博文链接:https://chxiaowu.iteye.com/blog/1276845
设计模式Head First学习笔记,以及使用java编写的设计模式源码,Java原生sdk实现23种设计模式
学习设计模式时,做的笔记,主要参考了《Head First设计模式》
最近在设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二...
近在学设计模式的一些内容,主要的参考书籍是《Head First 设计模式》,同时在学习过程中也查看了很多博客园中关于设计模式的一些文章的,在这里记录下我的一些学习笔记,一是为了帮助我更深入地理解设计模式,二...
Head First学习笔记+Head First之装饰者模式高清PDF
VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...
设计模式、设计模式 可复用面向对象软件的基础,实现了 Gof 的 23 种设计模式。 内容包括三大原则(继承、封装、多态)、类图、设计原则。 数据库 :floppy_disk: 参考 数据库系统原理。 参考 SQL 必知必会。 ...
学习笔记都在这里了 好好学习,天天向上!生命不息,阅读不止! 本仓库参考以下书籍或资料 JavaScript高级程序设计(第三版) You don't know JS 系列 ES6 标准入门 Node.JS深入浅出 图解HTTP HTTP权威指南 Head First...