谈c++对象工厂

    首先我们要问一个问题,为什么要引入对象工厂设计模式?

对象工厂,顾名回义,就是管理对象的生成。那么意味着凡着涉及对象如何生成都可以采用对象工厂,但会有人不禁会问?为什么不采用new直接产生对象呢?hahaha~,这样发散性地去发问,的确会引导我们进行更多的启发性思考。的确,既然目标最终都是生成对象,为什么不直接使用new运算符产生对象呢。这就是引入对象工厂设计模式的关键!

    在程序设计的编码阶段,程序员往往不知道需要产生一个什么样的对象,比如说根据读写一个文本文件里的标志字符来判断产生相应的对象,显然这是一个运行期才能确定对象的类型。面对这样的情行,进一步演化与抽象,那么对象工厂应用而生!

    当然通过引入对象工厂这一设计模式,可以隐藏子类的相关信息,只暴露基类的接口,但记住,这并不是引入对象工厂设计模式的目的!

    最后想重复说明一下,凡是关于对象如何生成都可以采用对象工厂设计模式。此处特想举一示例:应用程序动态使用不同dll里面的类,这在许多程序框架设计过程中大有应用。

 

posted @ 2016-09-18 17:17  forkworld  阅读(502)  评论(0编辑  收藏  举报