简单工厂

阅读《研磨设计模式》笔记。之后若有所感,再补充。
简单工厂 的 目的是:封装隔离。很好的体现的这一思想。由工厂来创建接口实例。
也可以用它来创建抽象类和普通类的实例。
示例:
/**
 * @description 定义一个接口
 * @author liuwei
 * @date 2014-4-16
 * @version 1.0
 */
public interface Api {
	/**
	 * @param s
	 */
	public void operation(String s);
}

/**
 * @description定义实现A
 * @author liuwei
 * @date 2014-4-16
 * @version 1.0
 */
public class ImplA implements Api{

	/* (non-Javadoc)
	 * @see simplefactory.Api#operation(java.lang.String)
	 */
	@Override
	public void operation(String s) {
		System.out.println("ImplA s == " + s);
	}

}

/**
 * @description 定义实现B
 * @author liuwei
 * @date 2014-4-16
 * @version 1.0
 */
public class ImplB implements Api{

	/* (non-Javadoc)
	 * @see simplefactory.Api#operation(java.lang.String)
	 */
	@Override
	public void operation(String s) {
		System.out.println("ImplB s == " + s);
	}

}

/**
 * @description简单工厂
 * @author liuwei
 * @date 2014-4-16
 * @version 1.0
 */
public class Factory {
	public static Api createApi(int condition){
		Api api = null;
		if(condition == 1){
			api = new ImplA();
		}else if(condition == 2){
			api = new ImplB();
		}
		return api;
	}
}

/**
 * @description 客户端调用
 * @author liuwei
 * @date 2014-4-16
 * @version 1.0
 */
public class Client {
	public static void main(String[] str){
		Api api = Factory.createApi(1);
		api.operation("11111111");
	}
}

你可能感兴趣的:(简单工厂)