序 说好的每天进步一点点的,结果工作太忙,一直在加班,都没有学习新东西。我还要进BAT呢。 坚持每天学习新东西。 写代码时,意识到在代码结构上还是有点欠缺。赶紧补上。 纪录对设计模式的认识。小菜变大鸟。进攻BAT。 应用场景: 编写一个计算器控制台程序,要求输入两个数和运算符号,得到结果。 这本书使 ...
分类:
其他好文 时间:
2016-04-05 19:45:12
阅读次数:
179
学习netty框架时,看到有人说netty用到了设计模式的职责链模式,学习一下职责链模式,主要参考大话设计模式。 主要场景: 小菜想要加薪,向经理提出加薪请求,经理没有权限,经理交由总监处理,总监也没有权限,交由总经理处理,最后,总经理处理了,不同意。 职责链的意思就是,如果没有处理该类请求的权限, ...
分类:
编程语言 时间:
2016-04-04 01:15:38
阅读次数:
689
备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。备忘录模式属于行为型模式。所谓备忘录模式就是在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,这样可以在以后将对象恢复到原先保存的状态。很多时候我们总是需要记录一个对象的内部状态,这样做的目的就是为了允许用户取消不确定或者错误的操作,能够恢复到他原先的状态,使得他有”后悔药”可吃。大...
分类:
其他好文 时间:
2016-03-31 14:56:20
阅读次数:
104
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。大话设计模式中程杰老师给出的定义是,状态模式:当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移...
分类:
其他好文 时间:
2016-03-29 10:36:05
阅读次数:
194
写在前面:本人近期在看《大话设计模式》这本书,书里是用C#解说的实例。如今写心得笔记与大家分享。就试着写一个JAVA版的。样例还是书里的样例。只是是Java语言实现的。后面也会给出本人的一些理解建议。谢谢《大话设计模式》的作者。 一、什么是简单工厂模式? 简单工厂模式是工厂模式里最简单的一种。所以叫 ...
分类:
其他好文 时间:
2016-03-28 08:48:17
阅读次数:
310
设计模式书籍目前身边有的是《Head First 设计模式》、《大话设计模式》,其中也阅读过多人对设计模式的看法,其中谈论过"不可过度设计模式",若只阅读该类书籍不做实际项目很难记得模式的灵活运用。故而,将设计模式的各类情况一一记录,以作学习。 一、简单工厂模式 先贴代码如下: 针对上面代码绘制结构 ...
分类:
其他好文 时间:
2016-03-27 15:29:06
阅读次数:
172
在模板方法模式(TemplateMethod Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。这种类型的设计模式属于行为型模式。大话设计模式中程杰老师给出的定义是:模板方法模式:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。有一个经常用到...
分类:
其他好文 时间:
2016-03-27 01:50:46
阅读次数:
185
装饰模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。大话设计模式中程杰老师给出的定义,装饰模式:动态地给一个对象添加一些额外的职责,就增加功能来说,装饰模式比生成子类更加灵活。装饰模式结构图如下:...
分类:
其他好文 时间:
2016-03-26 12:40:13
阅读次数:
161
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。大话设计模式中程杰老师给出的定义是这样的:策略模式(Strategy),定义了算法家族,分别封装起来,让它们之间可以互相替换,从模式让算法的变化不会影响到使用算法的用户。面向对象编程,并不是类越多越好,类的划分是为了封装,但分类的基础是抽象,具有相同属性和功能的对象的抽象集合才是...
分类:
其他好文 时间:
2016-03-24 10:22:27
阅读次数:
142
工厂方法模式 工厂方法模式(Factory Method),定义一个用于创建对象的接口,让子类决定实例化哪一个工厂。工厂方法使一个类的实例化延迟到其子类. 简单工厂与工厂方法 1.简单工厂模式的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,
分类:
其他好文 时间:
2016-03-14 16:22:45
阅读次数:
136