设计模式之工厂模式

main
==================================================================================
package com.factory.sym;

public class TestFactory {

	/**
	 * @param args
	 * 简单工厂
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		FactoryI factory = new FactoryImpl();
		ProductImpl1 productImpl1=(ProductImpl1) factory.creatproduct1();
		ProductIpml2 productImpl2=(ProductIpml2) factory.creatproduct2();
		productImpl1.productMethod();
		productImpl2.productMethod();
	}

}
简单工厂
==================================================================================
package com.factory.sym;

public interface FactoryI {
 ProductI creatproduct1();
 ProductI creatproduct2();
}
简单工厂实现
=================================================================================
package com.factory.sym;

public class FactoryImpl implements FactoryI {

	@Override
	public ProductI creatproduct1() {
		// TODO Auto-generated method stub
		return new ProductImpl1();
	}

	@Override
	public ProductI creatproduct2() {
		// TODO Auto-generated method stub
		return new ProductIpml2();
	}

}
产品接口
===============================================================================
package com.factory.sym;

public interface ProductI {
	void productMethod();
}
产品一实现
================================================================================
package com.factory.sym;

public class ProductImpl1 implements ProductI {
	ProductImpl1() {
	}

	@Override
	public void productMethod() {
		// TODO Auto-generated method stub
		System.out.println("这是产品1");
	}

}
产品二实现
================================================================================
package com.factory.sym;

public class ProductIpml2 implements ProductI {

	public ProductIpml2() {
	}

	@Override
	public void productMethod() {
		// TODO Auto-generated method stub
		System.out.println("这是产品2");
	}

}
/*打印结果:这是产品1
这是产品2*/

你可能感兴趣的:(设计模式)