美文网首页
C#设计模式之三个工厂总结

C#设计模式之三个工厂总结

作者: Memoyu | 来源:发表于2019-05-08 21:54 被阅读0次
文章参考来源:https://www.cnblogs.com/qiaoconglovelife/p/5750290.html
感谢:CoderCong

认知尚浅,如有错误,愿闻其详!

对三个工厂的认知

  从模式简单工厂、工厂方法、抽象工厂,看出它们关键词在于工厂,本质就是使用工厂去生产产品。在学习前两个时,可以分出存在的区别,后来到工厂方法和抽象工厂,发觉它们就是一样的。发觉不出它们的区别,他们的区别就是工厂方法时只有一个接口方法,而抽象工厂则是存在多个接口方法。后来查阅资料弄明白,归根结底本质上工厂方法是抽象工厂的一种极端情况(即只生产一种产品)。它们三个的关系在于简单工厂在于解决对类的创建进行封装,但是存在工厂方法逻辑复杂的问题,而工厂方法是为了解决他存在的问题,但是存在着处理产品族问题比较复杂的问题,而抽象工厂则是针对产品族问题而来的。

区别

简单工厂 : 用来生产同一等级结构中的任意产品。(拓展增加产品都会造成工厂方法的逻辑复杂,难以维护)

工厂方法 :用来生产同一等级结构中的固定产品。(很容易去拓展产品,但是每个产品都会有个独立的工厂类)

抽象工厂 :用来生产不同产品族的全部产品。(拓展需要更改接口类,从而造成所有继承接口的类方法错误,所以不支持拓展,但是增加产品族确实很容易)

注意事项

(1)创建工厂类常常采用单例模式(Singleton)。

(2)工厂类拥有基类(定义共同接口),基类可以为纯虚类,也可以定义缺省方法。

(3)对于工厂方法和抽象工厂,基类中的生产产品的函数常常为虚函数,以实现动态绑定。

(4)调用工厂方法的函数通常采用工厂实现的指针和引用作为形参,以便根据不同的工厂实参调用不同的工厂方法。

具体三个工厂方法具体参照上三篇文章

相关文章

  • C#设计模式之三个工厂总结

    文章参考来源:https://www.cnblogs.com/qiaoconglovelife/p/5750290...

  • C#实现设计模式 —— 抽象工厂模式

    本文为转载,原文C#实现设计模式 —— 抽象工厂模式 介绍 定义 抽象工厂模式(Abstract Factory ...

  • 设计模式

    《C#设计模式》 《C#设计模式》-设计模式概述 《C#设计模式》-面向对象设计原则 《C#设计模式》-单例模式 ...

  • 设计模式

    设计模式(视频总结) [TOC] 一、简单工厂模式(Simple Factory) 简单工厂模式: 简单工厂模式属...

  • C#实现设计模式 —— 工厂模式

    本文为转载,原文C#实现设计模式 —— 工厂模式 定义 工厂模式主要是为创建对象提供接口,将创建对象的过程隔离起来...

  • JS-设计模式

    设计模式:代码经验的总结设计模式都是面向对象的 工厂模式 工厂函数就是做一个对象创建的封装,并将创建的对象retu...

  • 设计模式总结

    设计模式总结 创建型模式 单例模式 工厂方法模式 简单工厂模式 抽象工厂模式 建造者模式 原型模式 结构型模式 适...

  • 设计模式四、抽象工厂模式

    系列传送门设计模式一、单例模式设计模式二、简单工厂模式设计模式三、工厂模式设计模式四、抽象工厂模式 抽象工厂模式 ...

  • 设计模式之工厂模式

    设计模式之工厂模式 标签(空格分隔): 设计模式 工厂模式 设计模式的感念 设计模式的应用 工厂设计模式的产生 工...

  • 设计模式之创建型模式

    下面总结设计模式中的创建型模式: 1.简单工厂模式 简单工厂不是设计模式,更像是一种编程习惯。它把实例化的操作单独...

网友评论

      本文标题:C#设计模式之三个工厂总结

      本文链接:https://www.haomeiwen.com/subject/fpeuoqtx.html