简单工厂模式 Simple Factory

Simple Factory模式(又称Static Factory模式)

一个Simple Factory生产成品,而对客户端隐藏产品产生的细节。实作时定义一个产品介面(interface),并透过特定静态方法来建立成品。

假设有一个水果工厂,购买水果的客人不用知道水果是如何制作的,他只要知道如何吃水果就可以了。

/**
 * 
 * @author Jerval
 * @date 2011-4-11
 */
public interface IFruit {

	public void eat();
}

/**
 * 
 * @author Jerval
 * @date 2011-4-11
 */
public class Apple implements IFruit{

	public void eat() {
		System.out.println("eat an apple");
	}
}

/**
 * 
 * @author Jerval
 * @date 2011-4-11
 */
public class Banana implements IFruit{

	public void eat() {
		System.out.println("eat an banana");
	}
}

/**
 * 
 * @author Jerval
 * @date 2011-4-11
 */
public class FruitFactory {

	/**
	 * generate fruit factory
	 * 
	 * @param clazz
	 * @return
	 */
	public static IFruit getFruit(String fruitName){
		if("apple".equalsIgnoreCase(fruitName)){
			return new Apple();
		}else if("banana".equalsIgnoreCase(fruitName)){
			return new Banana();
		}else{
			System.out.println("can not find the fruit named:"+fruitName);
		}
		return null;
	}
}

/**
 * 
 * @author Jerval
 * @date 2011-4-11
 */
public class MainClass {

	public static void main(String[] args) {
		Apple apple = (Apple) FruitFactory.getFruit("apple");
		Banana banana = (Banana) FruitFactory.getFruit("banana");
		apple.eat();
		banana.eat();
	}
}
 

猜你喜欢

转载自jerval.iteye.com/blog/1013494