对工厂方法进行抽象。当增加新的产品时,不用改动工厂类。而是集成已有的工厂接口或者抽象工厂,创建新的工厂。这就是对扩展开发,对修改封闭。1 package Pak;2 3 public abstract class Automobile {4 public abstract void Run(...
分类:
编程语言 时间:
2014-07-09 13:38:37
阅读次数:
235
(五)原型模式 Prototype
原型模式目的是复制一个现有对象来生成新的对象,而不是通过实例化的方式。原型模式需要实现 Cloneable 接口,覆写clone方法,复制分为浅复制、深复制。...
分类:
编程语言 时间:
2014-07-09 09:12:35
阅读次数:
256
(三)单例模式
单例模式应该是最常见的设计模式,作用是保证在JVM中,该对象只有一个实例存在。
优点:1、减少某些创建比较频繁的或者比较大型的对象的系统开销。
2、省去了new操作符,降低系统内存使用频率,减轻GC压力。
3、保证核心代码的唯一性,比如交易引擎。
单例模式看似是最简单的设计模式。
public class Singleton {
//私有构造方法,...
分类:
编程语言 时间:
2014-07-08 20:38:48
阅读次数:
176
??
/*
* 装饰设计模式:
*
对一组对象的功能进行增强时,就可以使用该模式进行问题的解决;
* 装饰和继承都能实现一样的特点: 就是进行功能的扩转增强。
*
*/
public class TestIO4
{
public static void main(String[] args)
{
Person...
分类:
编程语言 时间:
2014-07-08 16:45:11
阅读次数:
165
命令模式在书本上是这样说的,将一个请求封装成一个对象,从而让你使用不同的请求把客户端参数化,队请求排队或者记录请求日志,可以提供命令的撤销或者恢复功能。
我个人认为命令模式比较简单也比较常用,因为它是一个典型的高内聚低耦合模式,封装性非常好,因为他把请求方和执行方分开了。扩展性非常好代码也很简单,下面我改编的书上的例子,我只是简单的改成了通过构造函数进行传递。
需求组
package com...
分类:
其他好文 时间:
2014-07-08 15:06:05
阅读次数:
163
这个模式是非常有意思,并且比較简单,可是我还是要说由于它使用的是如此的广泛,如此的有人缘,单例就是单一、独苗的意思,那什么是独一份呢?你的思维是独一份,除此之外还有什么不能山寨的呢?我们举个比較难复制的对象:皇帝中国的历史上非常少出现两个皇帝并存的时期,是有,但不多,那我们就觉得皇帝是个单例...
分类:
编程语言 时间:
2014-07-06 14:28:25
阅读次数:
176
设计模式我觉得是前人总结的,为了解决一类问题而总结的代码设计经验。最初可能为了使用而使用,后面就会发现,很多没想到的问题因为使用了正确的设计模式已经为你考虑到了。《design patterns设计模式》这本书是程序员进阶必学。...
分类:
编程语言 时间:
2014-07-06 00:54:38
阅读次数:
245
中介者设计模式的优点是减少类之间的依赖,把原有的一对多关系改成一对一关系依赖,同事类只依赖中介者,减少了依赖,同时也降低了类之间的耦合。...
分类:
编程语言 时间:
2014-07-03 17:32:54
阅读次数:
268
创建模式1.工厂方法模式(Factory Method) 将程序中创建对象的操作,单独出来处理,创建一个产品的工厂接口,把实际的工作转移到详细的子类。大大提高了系统扩展的柔性,接口的抽象化处理给相互依赖的对象创建提供了最好的抽象模式。 public class TestFactoryMethod ....
分类:
编程语言 时间:
2014-07-01 18:56:50
阅读次数:
235
模板方法差不多是Java设计模式中除单例之外的另一种非常简单也是我们在写程序时非常常用的方法,一些重要复杂的算法,可以将核心算法设计为模板方法,周边相关细节部分则有子类来实现。特别是在重构时,可以将子类的代码抽取到父类中,然后通过父类的引用指向子类的对象,也就是用一个句柄,来约束其行为。...
分类:
编程语言 时间:
2014-06-30 00:38:24
阅读次数:
321