初识设计模式
文章平均质量分 81
1、主要为《Head First设计模式》学习笔记;
2、博客内容包括对原文的解构和源代码的分析。
KevinDo
这个作者很懒,什么都没留下…
展开
-
初识设计模式 chapter 11-代理模式
玩过扮白脸、扮黑脸的游戏吗?你是一个白脸,提供很好且很友善的服务,但是你不希望每个人都叫你做事,所以找了黑脸控制对你的访问。这就是代理要做的:控制和管理访问。就像你将看到的,代理的方式有许多种。代理以通过Internet为它们的代理对象搬运的整个方法调用而出名,它也可以代替某些懒惰的对象做一些事情。原创 2014-04-21 15:42:00 · 1141 阅读 · 0 评论 -
初识设计模式 chapter 10-状态模式
状态模式:允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。这个描述中的第一部分附有相当多的涵义,是吧?因为这个模式将状态封装成为独立的类,并将动作委托到代表当前状态的对象,我们知道行为会随着内部状态而改变。糖果机提供了一个很好的例子:当糖果机是在不同状态时,你投入25分钱,就会得到不同的行为。而这个定义的第二部分呢?一个对象“看起来好像修改了它的类”是什么意思呢?从客户的视角来看:如果说你使用的对象能够完全改变它的行为,那么你会觉得,这个对象实际上是从别的类实例化而来的。然后,实际上,原创 2014-04-21 10:26:12 · 1064 阅读 · 0 评论 -
初识设计模式 chapter 09-迭代器与组合模式
有许多方法可以把对象堆起来成为一个集合(collection)。你可以把他们放进数组、堆栈、或者是散列表中,这是你的自由。每一种都有它自己的优点和适合的使用时机,但总是有一个时候,你的客户想要遍历这些对象,而当他这么做的时候,你打算让客户看到你的实现吗?我们当然希望不要!这太不专业可。没关系,不要为你的工作担心,你将在本章中学习如何能让客户遍历你的对象而又无法窥视你存储对象的方式;也将学习如何创建一些对象集合(super collection),能够一口气就跳过某些让人望而生畏的数据结构。你还将学到一些关于原创 2014-04-17 12:43:49 · 1297 阅读 · 0 评论 -
初识设计模式 chapter 08-模板方法模式
设计模式笔记06-模板方法模式原创 2014-04-15 15:49:21 · 943 阅读 · 0 评论 -
初识设计模式 chapter 07-适配器模式与外观模式
设计模式笔记06-适配器模式与外观模式1 引言在本章,我们将要进行一项任务,其不可能的程度,简直就像是将一个方块放进一个圆洞中。听起来不可能?有了设计模式,就有可能。还记得装饰者模式吗?我们将对象包装起来,赋予他们新的职责。而现在则是以不同目的,包装某些对象:让他们的接口看起来不像自己而像是别的东西。为何要这样做?因为这样就可以在设计中,将类的接口转换成想要的接口,以便实现原创 2014-04-15 11:26:39 · 1243 阅读 · 2 评论 -
初识设计模式 chapter 06-命令模式
设计模式笔记06-命令模式1 引言在本章,我们将把封装带到一个全新的境界:把方法调用(Method Invocation)封装起来。没错,通过封装方法调用,我们可以把运算块包装成形。所以调用此运算的对象不需要关心事情是如何进行的,只要知道如何使用包装成形的方法来完成它就可以。通过封装方法调用,也可以做一些很聪明的事情,例如记录日志,或者重复使用这些封装来实现撤销(und原创 2014-04-02 16:13:34 · 1026 阅读 · 0 评论 -
初识设计模式 chapter 05-单件模式
设计模式笔记05-单件模式1 引言单件模式(Singleton Pattern),又叫单例模式:用来创建独一无二的,只能有一个实例的对象的入场卷。单件模式的类图可以说是所有模式的类图中最简单的,事实上,它的类图上只有一个类!但是,可不要兴奋过头,尽管从类设计的视角来说它很简单,但是实现上还是会遇到相当多的波折。2 正文2.1 单件模式与全局变量原创 2014-04-02 14:06:04 · 1193 阅读 · 0 评论 -
初识设计模式 chapter 04-工厂模式
设计模式笔记04-工厂模式1 引言除了使用new操作符之外,还有更多制造对象的方法。你将了解到实例化这个活动不应该总是公开地进行,也会认识到初始化经常造成耦合问题。你不希望这样,对吧?读下去,你将了解工厂模式如何从复杂的依赖中帮你脱困。2 正文2.1 new有什么不对劲当有一群相关的具体类时,通常会写出这样的代码:Duck d原创 2014-04-01 14:01:08 · 1218 阅读 · 0 评论 -
初识设计模式 chapter 03-装饰者模式
设计模式笔记03-装饰者模式1 引言本章可以称为“给爱用继承的人一个全新的设计眼界”。我们即将再度探讨典型的继承滥用问题,一旦你熟悉了装饰者模式的技巧,你将能够在不修改任何底层代码的情况下,给你的(或别人的)对象赋予新的职责。2 正文2.1本章需求背景1、咖啡店,有四种原材料咖啡:综合、深焙、低咖啡因、浓缩,四种调料:牛奶、摩卡、豆浆、奶泡;原创 2014-03-31 15:00:57 · 764 阅读 · 2 评论 -
初识设计模式 chapter 02-观察者模式
设计模式笔记02-观察者模式1 引言有一个模式可以帮你的对象知悉现况,不会错过该对象感兴趣的事。对象甚至在运行时可决定是否要继续被通知。观察者模式是JDK中使用最多的模式之一,非常有用。我们也会一并介绍一对多关系,以及松耦合(没错,我们说的是耦合)。有了观察者,你将会消息灵通。2 正文2.1 当前的境遇1、WeatherData类具有三个原创 2014-03-31 11:06:05 · 913 阅读 · 0 评论 -
初识设计模式 chapter 01-策略模式
设计模式笔记01-入门1.引言上周快速地把《Head First设计模式》推到第7章,这周状态不佳,除了写了个工具之外书都没翻,现在连设计模式的名字都记不全了,深感大脑记忆学的快忘的也快。本着好记性不如烂笔头的原则,同时也方便以后自己再来复习回顾的时候不用大篇地再把原书翻一遍,以后每一章都会写一篇博客用来自我总结。2.正文笔记2.1继承的缺点1、代码在多个子类中重复原创 2014-03-28 10:56:30 · 927 阅读 · 0 评论