ASP源码.NET源码PHP源码JSP源码JAVA源码DELPHI源码PB源码VC源码VB源码Android源码

简单工厂方法模式和工厂方法模式

来源:网络整理     时间:2016-03-08     关键词:

本篇文章主要介绍了"简单工厂方法模式和工厂方法模式",主要涉及到方面的内容,对于Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下: 简单工厂模式和工厂方法模式都是实例化对象的模式(或方法)。区别:简单工厂模式主要是由工厂对象(确切说是传入工厂类方法的参数)决定实例化哪种对象。如下面代码中的t...

简单工厂模式和工厂方法模式都是实例化对象的模式(或方法)。

区别:

简单工厂模式主要是由工厂对象(确切说是传入工厂类方法的参数)决定实例化哪种对象。如下面代码中的type参数。

public class SampleFactor {

	public LeiFeng CreateLeiFeng(string type){
		LeiFeng leifeng = null;
		switch (type){
		case: "学雷锋" :
			leifeng = new Undergraduate();
			break;
		case: "社区志愿者":
			leifeng = new Volunteer();
			break;
		}
		return leifeng;
	}

}

客户端调用如下:

SampleFactor samplefactor = new SampleFactor();
LeiFeng res = samplefactor.CreateLeiFeng("学雷锋");
工厂方法模式是定义一个工厂接口,让子类决定实例化哪个类。如下:

public interface IFactor{
	LeiFeng CreateLeiFeng();
}

public UnderGraduate implements IFactor{
	LeiFeng CreateLeiFeng(){
		return new Undergraduate();
	}
}
public VolunteerFactor implements IFactor{
	LeiFeng CreateLeiFeng(){
		return new Volunteer();
	}
}
客户端调用如下:

IFactor ifactor  = new UnderGraduate();//可以换成VolunteerFactor
ifactor.CreateLeiFeng();

工厂方法模式相比简单工厂模式的好处:在保证了集中封装了对象创建的基础上,克服了简单工厂模式违背开放-封闭原则的缺点。因为如果新加入别的子类,后者需要在工厂类中添加case,而前者仅需要扩展,即创建该子类并实现ifactor接口。

以上就介绍了简单工厂方法模式和工厂方法模式,包括了方面的内容,希望对Javajrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播有兴趣的朋友有所帮助。

本文网址链接:http://www.codes51.com/article/detail_390843.html

相关图片

相关文章