JiveJdon Community Forums
在线105人   首页   主题总表   培训咨询   精华   查搜   注册    登陆
首页 » 论坛 » 设计模式、框架和架构
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 2 回复 / 1
 发表新帖子   回复该主题贴
noizz

悄悄话
发表文章: 2
注册时间: 2004年11月23日 12:54
请教工厂方法的一个应用问题 2004年11月23日 13:17 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 factory模式(19)     
譬如说我要生产一组产品,这组产品有一些共性,于是用一个
ProductMgr来管理共性的东西
当遇到专有的东西时
用一个工厂方法来处理
if( needSpecialProcess){
ProductCommand command1 = ProductFactory.getFactory(productId);
command1.createProduct();
}
这些没有问题。
但是,后来发现几种command里面又有一些共性的操作。这时该怎么设计呢?
现在有方案
1)沿用原来的结构,不改变。这样就是每种command都要做一些相同的操作。
2)将共性的操作抽取到一个公共方法,如 function.doBeforeCreate(ProductCommand command)。每个Command里再去调用这些方法。
3) 将共性的操作抽取到一个新类。
if( needSpecialProcess){
new CommonCommand().createProduct();
}
在CommandCommand里,先处理共性的操作。然后再调用工厂方法处理专有操作。

要考虑效率问题,又要兼顾结构。该怎么选呢?或者有更好的方案?
banq

悄悄话
发表文章: 9290
注册时间: 2002年08月03日 17:08
Re: 请教工厂方法的一个应用问题 2004年11月23日 20:50 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
将共性的操作抽取到一个新类,然后你的command继承这个新类,客户端调用代码不必修改。
knight_qmh

悄悄话
发表文章: 4
注册时间: 2003年09月19日 13:45
Re: 请教工厂方法的一个应用问题 2004年11月29日 10:44 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
XXProductCommand extends/imp... ProductCommand
{
public XXProductCommand(ProductCommand command)
...

public ... createProduct()
{
//dobefore();
command.createProduct();
//doend();
}
}
这个主题有 2 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
 

手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam