第二篇 设计模式--工厂方法模式

定义:工厂模式是我们软件设计最常用的实例化对象模式,是用工厂方法代替new操作的一种模式。
好处:在创建一类对象时,使用工厂模式,给系统带来更大的可扩展性和更少的修改量
代码:

package factorymodel.factorymethord;

/**
 * 
 * 
 * @author naivor 工厂方法模式_场景类
 */
public class FactoryMethord {
	public static void main(String[] args) {
		Product1Factory factory = new Product1Factory();  //通过改变产品工厂类型,生产不同的产品
		Product product = factory.createProduct();
		product.doSomething();
	}
}

/**
 * 
 * @author naivor 工厂方法模式_工厂接口
 */
interface Factory {
	Product createProduct();
}

/**
 * 
 * @author naivor 工厂方法模式_产品1工厂
 */
class Product1Factory implements Factory {
	public Product createProduct() {
		return new Product1();
	}
}

/**
 * 
 * @author naivor 工厂方法模式_产品2工厂
 */
class Product2Factory implements Factory {
	public Product createProduct() {
		return new Product2();
	}
}

/**
 * 
 * @author naivor 工厂方法模式_产品3工厂
 */
class Product3Factory implements Factory {
	public Product createProduct() {
		return new Product3();
	}
}

/**
 * 
 * @author naivor 工厂方法模式_产品接口
 */
interface Product {
	void doSomething();
}

/**
 * 
 * @author naivor 工厂方法模式_产品1类
 */
class Product1 implements Product {
	public void doSomething() {
		// Product1的业务逻辑
	}
}

/**
 * 
 * @author naivor 工厂方法模式_产品2类
 */
class Product2 implements Product {
	public void doSomething() {
		// Product2的业务逻辑
	}
}

/**
 * 
 * @author naivor 工厂方法模式_产品3类
 */
class Product3 implements Product {
	public void doSomething() {
		// Product3的业务逻辑
	}
}



扩展:上面的工厂和产品都使用了“接口+实现类”的方式来实现,也可以使用“抽象类+派生类”来实现。
区别:将产品判断逻辑放到场景类中,解决某个产品的生产可能依赖其他产品。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值