概述
将一个复杂对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,这样的设计模式被称为建造者模式角色
建造者(Builder):为创建一个产品对象的各个部件指定抽象接口。
具体建造者(ConcreteBuilder):实现Builder的接口以构造和装配该产品的各个部件,定义并明确...
分类:
其他好文 时间:
2014-05-14 02:37:47
阅读次数:
329
原:http://blog.csdn.net/lfsf802/article/details/8487990
在学习软件工程的时候,第一次接触到了架构这个概念。当初接触的时候对其的理解是非常浅薄的,因为那时候工程经验比较少,对这样一个深层次的概念还是模糊不清楚的。
随着学习的深入,开始接触了设计模式...
分类:
其他好文 时间:
2014-05-14 02:19:16
阅读次数:
213
曾经有一副小米耳机摆在我的面前,但是我没有去好好珍惜,直到她掉到我的水杯里我才后悔莫及,尘世间最痛苦的事莫过于此,如果上天再给我一次机会,我会对你说:我应该买个防水的耳机。话说昨天晚上回到宿舍,禁不住美食的诱惑,大晚上的,咱不能吃,看看也行啊,于是,百度搜索“舌尖上的中国”,看看看着,感觉口渴,于是蹭蹭蹭赶紧找水喝,喝水的时候还不忘把手机拿在手里,耳机插在耳朵里,说时迟,那时快,我的耳机凉快的洗了...
分类:
其他好文 时间:
2014-05-14 00:36:55
阅读次数:
364
Iterator模式定义:
提供一个方法顺序访问一个聚合对象的各个元素,而又不暴露该对象的内部表示。
这个模式在java的类库中已经实现了,在java中所有的集合类都实现了Conllection接口,而Conllection接口又继承了Iterable接口,该接口有一个iterator方法,也就是所以的集合类都可以通过这个iterator方法来转换成Iterator类,用Ite...
分类:
其他好文 时间:
2014-05-13 09:11:43
阅读次数:
288
定义
依赖倒置原则(Dependency Inversion Principle)
核心思想:依赖于抽象
具体体现:
体现一:高层模块不应该依赖低层模块。两个都应该依赖抽象。
体现二:抽象不应该依赖细节。细节应该依赖抽象。
依赖倒置原则告诉我们:细节是多变的,而抽象是相对稳定的。所以我们编程的时候要注重抽象的编程,而非细节编...
分类:
其他好文 时间:
2014-05-13 08:08:05
阅读次数:
219
今天重温了一下策略模式,将自己的一些感悟与大家分享。。。本人只是技术渣渣,所理解的东西的难免会有很大的局限性甚至是错误,还请各位带着批判的眼光去看待。。。。不喜请勿吐槽 定义:策略模式属于设计模式中的对象行为型模式,它将用到的算法单独抽象成一个单独的类。通常,我们在多个类完成同一件事情,仅仅完成的方式不同时,我们可以考虑使用这种设计模式。 举例:相...
分类:
其他好文 时间:
2014-05-13 07:04:35
阅读次数:
241
本文主要分析了中介者模式、观察者模式、备忘录模式、访问者模式、状态模式、解释器模式,介绍它们的定义、优缺点、使用场景,以及实例代码。为了深刻地理解设计模式,最重要的还是动手编写代码。
我参照书中的例程重新构想了一些更加生动、易于理解的例子,希望大家喜欢。
代码可以通过以下链接进行浏览:
http://git.oschina.net/caipeichao/java-design-pattern
这些代码都经过编译运行,保证没有错误。...
分类:
其他好文 时间:
2014-05-12 23:20:22
阅读次数:
436
3.依赖倒置原则:High level modules should not depend upon low level modules. Both should depend upon abstractions. Abstractions should not depend upon details. Details should depend upon abstractions.
意思是:高...
分类:
其他好文 时间:
2014-05-11 22:15:36
阅读次数:
326
解决的问题是:我有一个类A,里面可能需要很多不同行为的功能。
现在有三种解决方法,第一种:每个功能都弄成一个类,然后继承类A,这种的问题是,如果功能很多,会造成类爆炸。
第二种:我将功能类组合上类A上,这种想法是好的,但还没够弹性,因为这样我没法在不修改类A的情况下对功能的动态添删。(我的目的就是在不修改类A的情况下,对类A进行功能扩展)
第三种:就是我要说的装饰者模...
分类:
其他好文 时间:
2014-05-11 21:26:18
阅读次数:
340
实现 : Defferent Heros attack Defferently. - 不同的英雄使用不用的招数
Strategy设计的思路:
基类A,更加小的基类B,新的继承类C:
1 从基类A中抽出一个更加小的基类B
2 利用这个更加小的基类B实现不同的效果
3 把这个更加小的基类B包含进基类A中去
4 新的继承类C只需要和基类A打交道,设计不同行为,不需要理会更加小的基类B...
分类:
其他好文 时间:
2014-05-11 18:45:45
阅读次数:
297