工厂模式

从工厂模式衍生出来三种相似而又有所不同的工厂模式:

1.简单工厂模式,这中有人说它是一种编程习惯,而不是设计模式;

2.抽象工厂模式,提供一个接口,用于创建相关或依赖的家族。

3.工厂方法模式,就是定义一个创建对象的接口,但是有子类决定到底要实现哪一个具体的实例。把定义实例的时间推迟到子类中;

这三种应该是统一的,就是都定义一个接口,为客户创建实例选择不同的方法,而不需要更改代码,能够在不破坏核心代码的时候,替换相关的类实例。也就是要遵守设计原则:要依赖抽象,而不要依赖与具体的类。


而要遵守这个原则,可以从下面的几个方面来考虑:

1.任何类的指针(c++实现)都一定是指向接口即抽象类,利用类的多态性,实现动态绑定;

2.任何类的继承一定是来自接口或者抽象类,而不是具体类,减少依赖;

3.不要覆盖基类中已经实现的方法(还没有体会);


说白了,就是有客户,和各种不同的产品,工厂就是客户与产品通信的接口,产品依赖工厂,客户也要依赖工厂:

下面以一个比萨的工厂的设计与实现来说明工厂模式:


                                                                               



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值