工厂模式

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

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

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

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

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

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

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

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

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

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

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

                                                                               

原文链接: https://www.cnblogs.com/mind-virtual/archive/2011/08/01/3365738.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    工厂模式

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/29719

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午7:08
下一篇 2023年2月8日 上午7:09

相关推荐