iteye第一帖-工厂设计模式

工厂设计模式恐怕是最不好理解,最容易弄混的设计模式了吧,之前一直都没理清工厂设计模式,最近看了head first 设计模式,才算明白点那些不同的工厂。

工厂设计模式主要有:简单工厂,静态工厂,工厂方法,抽象工厂。
1.简单工厂,其实就是封装的原则,把经常变化的部分封装起来,而因为封装的是创建类的部分,所以就被称作是工厂,但是实际上可以不算设计模式。

书上的例子是说:假设一个pizza店有各种不同的pizza,如果定义一个基类pizza,还要有各种口味的pizza继承这个基类,然后在某个函数中通过传参判断该new哪个类。这样,当pizza的种类过多时,就需要把判断传参,初始化pizza的部分抽取出来,形成复用。这样就形成了简单工厂模式。

2.静态工厂,就是把创建类的方法声明为静态的。但是在开发的环境中,现在大多数的java开发都会使用Spring的依赖注入,所以如果要创建的对象跟业务相关,恐怕就无法使用了。
3.工厂方法:

类似于图中所示,如果在代码体现,在factoryImpl中应该是这样的 Bean bean = new BeanImpl(); 而BeanImpl其实可以动态地添加。所以Factory依赖Bean这个抽象,BeanImpl也依赖Bean这个抽象,这样就实现了依赖倒置,避免了高层接口依赖底层接口了。

4.抽象工厂:先说说抽象工厂的用途,一般是在Bean是由多个其他类组成的时候,初始化Bean便需要抽象工厂了,而类结构与工厂方法类似,甚至可以说,实现抽象工厂的一种方式是多重使用工厂方法,在factory中初始化Bean所需要的多个原料,组成Bean。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值