自己对于工厂模式的理解

来源:互联网 发布:唐诗逸和张傲月 知乎 编辑:程序博客网 时间:2024/05/17 08:54

         首先说一下封装,面向对象的特点中,其中有一个就是封装,当然这里指的是类的封装。

         工厂模式其实就有点像“封装”概念的扩展,这里当然不是指类的封装,而是指“创建对象”这一过程的封装,即把创建对象的过程都封装在一个工厂里,换句话说:工厂的职能就是创建对象。

          工厂模式的好处就是把每个角色,说白了就是每一部分代码的职责分的很明确,调用者(或者成为消费者)就是调用者,他接收到的就是一个父类;工厂就是工厂,它就是用来创建对象;而类就是一个个产品。当有新的产品时,只需要增加相应的类,以及在工厂里“造”出来就可以了,这样可以降低代码间的耦合程度。如果不使用工厂模式,那么就需要调用者自己去创建对象,此时消费者又成了生产者。

           总之一句话,工厂模式的作用就是让工厂来造产品,也就是让工厂来创建对象,而不是在项目的任意地方都可以创建对象。


           那么什么时候使用工厂模式呢?

           当我们不知道要创建哪个子类,或者要根据用户的输入来创建子类的时候就可以考虑使用工厂模式。此时用户接收到的永远都是一个父类对象,而这个父类对象里面的装的就是工厂里面造出来的对应的子类对象。

0 0
原创粉丝点击