设计模式1: 简单工厂模式

参考资料:

1. 百度百科:点击打开链接

2. 《大话设计模式(程杰)》

3. 《JAVA与模式》之简单工厂模式   点击打开链接


简单工厂模式的实质:工厂类和多态

1. 工厂类,根据外界传入的参数,动态决定创建哪个产品类的实例。(工厂类是简单工厂的核心)

2. 工厂类中一般有一个static函数,用于获取产品类的实例(此实例是子类或者接口的实现类)。所以此设计模式又叫做:静态工厂方法(Static Factory Method)模式。

3. 产品类都有共同的父类(或者实现共同的接口)。父类(或接口)中规定子类必须重写方法的样式(方法名,参数,返回值),子类去中处理具体的业务逻辑。


优点:

1. 外界调用的时候,可以免除直接创建对象的责任。简单工厂模式通过这种做法实现了对责任的分割。职责更明确。

2. 扩展性:增加新的业务逻辑,需要:1.增加一个新的父类的实现类   2.工厂类中增加一个新的逻辑判断。

缺点:

1. 工厂类集中了所有的类创建逻辑,当有复杂的多层次等级结构时,所有的业务逻辑都在这个工厂类中实现。工厂类不能工作了,整个系统都会受到影响。

2. 扩展时候需要修改工厂类,开放-封闭原则处理的不好。可能因此,简单工程模式不属于23种GOF设计模式之一。

3. 如果系统复杂,层次结构多的时候,扩展过程中,工厂类会变的很复杂。这不利于系统的维护和扩展。


使用场景:

1. 适合结构简单,产品类较少。最好是在系统设计之初,就预估产品类的多少的情形。


需要举例子:

通过实际的使用场景,可以深刻理解,快速记住这些抽象的设计模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值