工厂模式

简单工厂模式:

public interface product {
}

 

public class ProductA implements product {

	public ProductA() {
		System.out.println("我是产品A") ;
	}
}

 

public class ProductB implements product {

	public ProductB() {
		System.out.println("我是产品B") ;
	}
}

 

public class Simplefactory {
	
	public static product getProduct(String type) {
		if(type.equals("A"))
			return new ProductA();
		if(type.equals("B"))
			return new ProductB();
		else
			return null;
	}
	/**
	 * 简单工厂模式
	 * @param args
	 */
	public static void main(String args[]) {
		product a = Simplefactory.getProduct("A") ;
		product b = Simplefactory.getProduct("B") ;
	}
}

 工厂方法:

 

public interface product {
}

 

public interface Factory {
	public product create() ;
}

 

public class ProductA implements product {

	public ProductA() {
		System.out.println("我是产品A");
	}
}

 

public class ProductB implements product {

	public ProductB() {
		System.out.println("我是产品B");
	}
}

 

public class Afactory implements Factory {

	public product create() {
		return new ProductA();
	}

}

 

public class Bfactory implements Factory {

	public product create() {
		return new ProductB();
	}

}

 

public class Test {

	/**工厂方法模式
	 * @param args
	 */
	public static void main(String[] args) {
		Factory afactory = new Afactory() ;
		Factory bfactory = new Bfactory() ;
		product a = afactory.create() ;
		product b = bfactory.create() ;
	}

}

抽象工厂:

public interface productA {

}

 

public interface productB {
}

 

public interface Factory {
	public productA getPa();
	public productB getPb();
}

 

public class Pa1 implements productA {

	public Pa1() {
		System.out.println("我是Pa1") ;
	}
}

 

public class Pa2 implements productA {

	public Pa2() {
		System.out.println("我是Pa2");
	}
   
}

 

public class Pb1 implements productB {

	public Pb1() {
	System.out.println("我是Pb1");
	}
}

 

public class Pb2 implements productB {

	public Pb2() {
		System.out.println("我是Pb2");
	}
}

 

public class Factory1 implements Factory {

	public productA getPa() {
		return new Pa1();
	}

	public productB getPb() {
		return new Pb1();
	}

}

 

public class Factory2 implements Factory {

	public productA getPa() {
	  return new Pa2();
	}

	public productB getPb() {
		return new Pb2();
	}

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值