摘要: 首先我们要问一个问题,为什么要引入对象工厂设计模式? 对象工厂,顾名回义,就是管理对象的生成。那么意味着凡着涉及对象如何生成都可以采用对象工厂,但会有人不禁会问?为什么不采用new直接产生对象呢?hahaha~,这样发散性地去发问,的确会引导我们进行更多的启发性思考。的确,既然目标最终都是生成对象, 阅读全文
posted @ 2016-09-18 17:17 forkworld 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 在软件框架设计过程中,若引入智能指针来实现内存的自动管理,那意味着不得不放弃c++面向对象以虚函数为基础实现多态来提供统一接口的特性,从而采用模板来提供接口。 为什么c++不引入内存自动管理机制? c++这门程式设计语言的初衷就是不为程序员强加更多的枷锁,当然,这样会使该程式语言的易用性、可掌握性不 阅读全文
posted @ 2016-09-18 11:07 forkworld 阅读(222) 评论(0) 推荐(0) 编辑
摘要: 首先抛出一个问题,c++标准委员会为什么要引入dynamic_cast? 从一门计算机程式语言发展与演变的角度来谈,那是因为c++引入dynamic_cast会让其变得更具有灵活性和弹性。为什么这样讲,首先我们要明白,任何最初美好的软件设计都会随着需求的增加以及代码的膨胀而会变得极其复杂。所以软件工 阅读全文
posted @ 2016-09-14 13:13 forkworld 阅读(259) 评论(0) 推荐(0) 编辑