关于《设计模式》的提问

xuedaoli 2008-06-23 11:57:44
问得是第一个Factory模式的问题。
前面一段作者讲述了作用和代码的实现,这里我们假设有N多个Product的子类的话,Factory中就要有相应的N多个创建函数。
这个方法是不太符合实际和情理的,不可能每次添加一个新product的子类都要去改动factory。
所以书的作者又提出说用没模板参数化来实现,确定具体创建的子类。
请教如何实现呢?这里的factory是否是对应着多个product的子类的对象的管理呢,还是只对应一个(不合理)。
...全文
332 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
w4zhangzhenfang 2008-07-24
  • 打赏
  • 举报
回复
孤立的考虑问题是错误的,现实中好多的factory已经存在,不是为product存在,而是本来就存在,可以看看java.util.List中iterator的实现
RocWay007 2008-07-20
  • 打赏
  • 举报
回复

template<typename ProductType>
class Factory()
{
ProductType* createProduct()
{
return new ProductType();
}
};
lextm 2008-06-28
  • 打赏
  • 举报
回复
读书还是要细心一点。每一个模式最后GoF都有讨论这个模式的好处和问题。你有看完这一部分吗?体味之后再来发问吧。
hurry281 2008-06-28
  • 打赏
  • 举报
回复
up
sinosinux 2008-06-28
  • 打赏
  • 举报
回复
哦,错了,是《c++设计新思维》 -_-|||
sinosinux 2008-06-28
  • 打赏
  • 举报
回复
楼主看的是inside the c++ object model吧,认真看看前几章,尤其是typelist的设计与实现那一章,对你理解书中的内容很有帮助。
Treazy 2008-06-26
  • 打赏
  • 举报
回复
你看的是什么书?没有代码实现吗?

这个代码是很简单的

factory中实现了多个product的管理,但是都是分离的

所以只适用于对于一类对象创建接口

5,530

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 模式及实现
社区管理员
  • 模式及实现社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧