23种设计模式之简单工厂模式

简单工厂模式

    简单工厂模式不属于gof中23种设计模式,但是他对工厂方法模式和抽象工厂模式都有学习的帮助。
    简单工厂模式属于创建型设计模式,工厂即生产对象的厂房,模式动机是用户不需要关心工厂中的内部实现,用户只需要提供一个标识信息,抽象工厂类便能给你一个相应的对象,这里标识信息可以是字符串数字都可以,用if,switch什么判断也都可以。它的核心在于工厂类。

    举个例子:

    电器厂房要生产冰箱和空调,你要生产冰箱你可以传进去一个1,空调传进去2,就能得到相应的对象。这些产品都要继承电器类,因为工厂类中返回类型是基类,这样符合里氏代换原则,父类的指针指向任何一个继承它的子类,最后得到相应的对象由父类的指针指向。

    简单工厂的缺点(个人总结):

    你要生产的对象必须是工厂类的子类,这就限制的所生产对象的继承,因为java对类是单继承,所以无法再继承别的类。
    扩展性,如果你需要生产新的类型,你需要在工厂类中修改下判断条件,这就一定程度上破坏了开闭原则。
    工厂类一旦出错,会导致整个系统错误,难以维护。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值