自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 问答 (2)
  • 收藏
  • 关注

原创 《head first》设计模式之八 模板模式

模板模式的定义:在一个方法中定义一个算法的框架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。这个地方用到的设计原则是好莱坞原则,等我调用你,不用你来调用我。防止“依赖腐败”书中讲解的例子是Beverage的例子,之前我们在装饰者模式中讲到了Beverage的例子,装饰者模式是添加了一些责任,让我们的cost方法变得间接。这次我们看Bever...

2018-02-11 09:17:36 215

原创 《head first》设计模式之七 适配器、外观模式

生活中的我们遇到的适配器最多的就是之前港版mac的转接头了,因为香港和我们大陆的电源插头标准不一样,所以需要一个转换接头,现在我们经常会在mac上看到转接头,毕竟mac的硬件标准和微软的可能还是有一些区别适配器模式:把一个类的接口转换为客户需要的另一个接口,适配器让原本不兼容的类可以合作无间基本类图入下我们看到mac需要充电,目前只有一个香港的充电器在身边,但是大陆的插座和香港的充...

2018-02-09 14:20:04 248

原创 《Head first 》设计模式之二 观察者模式

设计的原则1:把不变和变动的部分分开设计2:面向接口编程,不面向实现编程3:多用组合,少用继承昨天晚上学习了观察者模式,观察者模式的定义:定义了一种一对多的依赖,当一个对象状态发生改变,所有依赖它的对象都会得到通知,并自动更新文中用到的例子是气象站,很多气象网站或者是机场,客运中心,农场都对气象数据感兴趣,他们会依赖气象站发布的数据,那么频繁地访问气象站数据,不如让气象站通知机...

2018-02-08 10:35:04 240

原创 《head first 》设计模式之六 命令模式

命令模式的定义:将请求封装成对象,这可以让你使用不同的对象(请求、队列、或者日志)来参数化其他对象,命令模式可以支持撤销操作。主要目的是把命令的发出者和执行者,以及命令解耦。书中的例子讲的是智能家居遥控器例子:一个遥控器插板,有多个插槽,可以供我们扩展。每一个插槽可以插入一个芯片,每个芯片意味着可以控制一款智能家居,比如电视,电灯,洗衣机,空调,音响等。插槽旁边就是打开与关闭开关(一个芯片对应...

2018-02-07 20:10:05 257

原创 《head first》设计模式之五 单例模式

单例模式的定义:确保一个类只有一个实例,并且提供一个全局访问点;书上说单例模式基本上是最简单的设计模式了,主要是面对重资产保持唯一性的主要设计原则。比如线程池,比如注册表,这些都要保持唯一性,否则系统资源紊乱,或者是环境配置不正确等问题。单例模式:1饿汉模式;懒汉模式。2双重检查加锁模式单例的进化:初始模式class Singleton{ private static Single...

2018-02-05 19:24:35 243

原创 《head first》设计模式之四--工厂模式

工厂模式一章讲了很多内容,但是设计思想是一致的1:变量不可以持有具体类的引用(如果使用new 就会持有具体类的引用,可以用工厂类避开)2:不要让类派生自具体类(如果派生自具体类,那就是依赖具体的实现类,弹性差,请派生自抽象类或者接口)3:不要覆盖基类中已实现的方法(如果覆盖基类已实现的方法,那基类就不是一个真正适合被继承的抽象,基类中已经实现的方法,应该有所有的子类共享)本章的工厂...

2018-02-05 11:07:47 332

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除