Java设计模式——工厂模式

工厂模式概念

-实例化对象,以工厂方法代替new操作
-包括工厂方法模式和抽象工厂模式
-抽象工厂模式是工厂方法模式的扩展

工厂模式的目的

-定义一个接口来创建对象,由子类来决定哪些类需要被实例化
-实例化的工作由子类实现
-面向接口编程而不面向实现

适用场景

-有一组类似的对象需要创建
-编码时无法预见需要创建哪种类的实例
-系统需要考虑扩展性,不依赖于产品类实例如何被创建、组合和表达的细节

模式产生的原因

-可能会因需求改变对象,但它却拥有稳定的接口,为此我们需要提供一种封装机制来隔离这个易变对象的变化,从而保持系统中其它依赖该对象不随需求的变化而变化。

实现步骤

-为产品设计统一的接口
-设计工厂类,在工厂类中获得产品,获得产品的方式可以采用反射方式
-利用反射时,类的全限定名过长可以采取利用properties的方式把全限定名做缩写的映射。

常见应用

-JDBC
-spring beanfactory

工厂模式和抽象工厂模式

-工厂模式是极端的抽象工厂模式,抽象工厂模式是工厂模式的推广
-工厂模式用来创建一个产品的等级结构,抽象工厂模式用来创建多个产品的等级结构
-工厂模式只有一个抽象产品类,抽象工厂模式有多个抽象产品类

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值