工厂模式

Posted 哎哟~不错哦

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了工厂模式相关的知识,希望对你有一定的参考价值。

 

 写设计模式这一系列随笔是为了自己日后参考、复习所用,具有很大的针对性。作者学习设计模式涉及的书籍有Design Patterns、Head First Design Patterns、研磨设计模式,大家如果想深入、或者不懂之处可以从这三本书上下手。

 

简单工厂模式

 

定义


由工厂本身创建实例。 

 

类图


 

 

作用


封装隔离了具体实现,如类图中的ImplA、ImplB;

集中管理对象;

类似IOC思想解耦了应用对象和外部资源对象。

 

 

工厂方法模式

 

定义


由工厂子类进行实例化 

 

类图


 

 

作用


 封装隔离了具体实现,如类图中的ConcreteProduct;

集中管理对象;

类似IOC思想解耦了应用对象和外部资源对象。

 

 

抽象工厂模式

 

定义


提供一系列接口,用于创建一系列相互关联的实例,并由工厂子类实例化。 

 

类图


 

作用


 封装隔离了具体实现,如红框中的类图;

集中管理对象;

类似IOC思想解耦了应用对象和外部资源对象。

 

 

关于IOC

 ioc即控制反转,和依赖注入是同一个东西,其本质就是把应用对象创建外部资源对象的控制权交给ioc容器处理,从而实现应用对象与外部资源对象的解耦。

 

图解:

 

以上是关于工厂模式的主要内容,如果未能解决你的问题,请参考以下文章

工厂模式抽象工厂模式策略模式

JAVA设计模式——工厂模式简单工厂模式工厂方法模式抽象工厂模式

C++实现工厂模式(简单工厂模式工厂方法模式抽象工厂模式)

设计模式之工厂模式详解和应用

iOS经常使用设计模式——工厂方法(简单工厂模式,工厂方法模式, 抽象工厂模式)

设计模式——抽象工厂模式