java 设计模式--简单工厂

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java 设计模式--简单工厂相关的知识,希望对你有一定的参考价值。


简单工厂设计模式,也就是静待工厂


场景,最近小米6很火啊,我也是小米的粉丝,就拿小米6来说,有黑色,白色,蓝色,三种非常亮的颜色。


先来代码,然后有疑惑,最后解释。


简单工厂设计模式有一个类是抽象类,是黑色,白色,蓝色手机的父类。

/**
 * 小米手机抽象类
 * 
 * @author sdc
 *
 */
public abstract class XiaoMiProduction {

	/**
	 * 生产小米6的方法
	 */
	public abstract void createXiaoMi6();
	
}


蓝色手机生产类。

public class XiaoMi6Blue extends XiaoMiProduction{

	@Override
	public void createXiaoMi6() {
		// TODO Auto-generated method stub
		System.out.println("生产亮蓝版本小米6");
	}

}


白色手机生产类。

package com.test4;

public class XiaoMi6White extends XiaoMiProduction{

	@Override
	public void createXiaoMi6() {
		// TODO Auto-generated method stub
		System.out.println("生产亮白版本小米6");
	}

	
}


黑色手机生产类:

public class XiaoMi6Black extends XiaoMiProduction{

	@Override
	public void createXiaoMi6() {
		// TODO Auto-generated method stub
		System.out.println("生产亮黑版本小米6");
	}

}


工厂类产生,生产小米6的工厂类。

/**
 * 生产小米6的工厂
 * 
 * @author sdc
 *
 */
public class XiaoMi6Factory {

	// 蓝色
	private static final String blule = "blue";

	// 黑色
	private static final String black = "black";

	// 白色
	private static final String white = "while";

	/**
	 * 静态工厂方法
	 * @param colour
	 * @return
	 */
	public static XiaoMiProduction createXiaoMi6(String colour) {
		XiaoMiProduction xmP = null;

		switch (colour) {
		case black:
			xmP = new XiaoMi6Black();
			break;
		case blule:
			xmP = new XiaoMi6Blue();
			break;
		case white:
			xmP = new XiaoMi6White();
			break;
		}
		return xmP;
	}

}


说明:

生产哪一种颜色的手机,有你给传入到工厂类里的参数决定的,这个静态方法会返回给你一个具体的生产类。用这个生产类来去调用具体的业务逻辑。


角色划分:

抽象产品角色:就是上文提到的XiaoMiProduction这个抽象类,是那父类,可以是接口也可以是抽象类。

具体产品角色:就是生产三种颜色的手机类,具体的业务逻辑。

工厂角色:就是XiaoMi6Factory这个类,作用就是生产具体的产品的类,里面提供一个静态方法,提供给外部调用。


本文出自 “10093778” 博客,请务必保留此出处http://10103778.blog.51cto.com/10093778/1918849

以上是关于java 设计模式--简单工厂的主要内容,如果未能解决你的问题,请参考以下文章

java与模式,这段代码怎么反映简单工厂模式了?

Java,设计模式,简单工厂。

用java 编写程序写出简单的工厂模式?

java设计模式 GOF23 02 工厂模式

Java-简单工厂模式

Java-简单工厂模式