摘要: 在《设计模式》一书中,工厂模式叫做工厂方法模式,定义为:定义创建对象的接口,让子类决定实例化哪一个类,工厂方法使得一个类的实例化延迟到其子类。使用工厂模式的情形主要有一下几种情况:编译时无法准确预期要创建的对象的类类想让其子类决定在运行时创建什么简单的说,有时你会通过很多if……else来判断类生成哪种类型的对象(大多指有相同父类的子类)比如下面的一个方法:public Fruit getfruit(String type){Fruit fruit = null;if(type.equals("orange")){fruit = new Orange();}else if( 阅读全文
posted @ 2012-08-27 10:39 iPolaris 阅读(156) 评论(0) 推荐(0) 编辑
摘要: 原型模式应用的条件为:创建给定类的实例过程比较复杂,或比较耗时耗资源。因而原型模型主要的目的是为了提高创建对象的效率,隐藏了复杂的创建过程。原型模式还涉及到一个浅复制和深复制的问题,这问题在objective-c更常被提到,java中的说法应该是引用。浅复制只获取了复制对象的指针,与复制对象共享资源,深复制则是获取一个真正地副本对象,享有自己独立的资源。下面是一个小例子,例子中的情况并非需要原型设计模式,只是为了说明一下原型模式的用法。 首先创建了一个Person类,需要实现Cloneable接口复写clone()方法package com.cnblogs.ipolaris.test; ... 阅读全文
posted @ 2012-08-26 23:58 iPolaris 阅读(184) 评论(0) 推荐(0) 编辑