设计模式学习C++实现<1>---factory模式

factory模式主要是解决两个问题:①创建对象的接口封装product ②将类的实例化推迟到子类ConcreteFactory

factory模式带来的两个问题以及解决:①如果为每个具体的concreteproduct类的实例化提供一个函数体,每新添加一个具体的product就得加一个函数体,这样factory接口就永远不能封闭。这个问题可以通过创建factory子类多态来实现这一点,但是这也是以新建一个类作为代价。②在实现中我们可以通过参数化工厂方法,即给factorymethod方法传递一个参数用来决定具体是创建哪一个concreteproduct。

图一:创建对象的封装接口product

图二:将类的实例化推迟到子类中

 

图片来自K_Eckel的设计模式书,正在学习中.....

posted @ 2013-05-14 11:08  mengmee  阅读(175)  评论(0编辑  收藏  举报