在线353人
首页
主题表
培训咨询
标签
精华
查搜
注册
登陆
用户
自动登陆
密码
新用户注册
忘记密码?
首页
»
论坛
»
设计模式、框架和架构
上一主题
BNAG在http://www.jdon.com/designpatterns/singleton.htm 文章中提到第二中形式的好处是“这个方法比上面有所改进,不用每次都进行生成对象,只是第一次” ..
返回本主题
返回主题列表
下一主题
打算模拟EJB的过滤链来做业务控制,输入为CtrolObject,相当于httprequest,因此,所有的输入信息保存在CtrolObjct中,对象中信息基本可以分为三大类:基本信息,认证信息,鉴权..
Go
总共有
1
回复 /
1
页
前往下页:
daemonx
悄悄话
发表文章: 1
注册时间: 2004年05月28日 17:28
请教benq大哥strategy模式在实际中的一个应用
2004年05月31日 09:45
标签列表
mvc结构中,向数据库中导入文件时,需要针对table来导入,先考虑简单的情况,即一个文件只对应一个表。
现有四个文件,分别要导入四个表格中(他们的字段不同),这时就表示要有四种不同的方法来分别处理四个不同的表格。
按照strategy模式的逻辑,可以将四种不同的处理表格的方法分别包装到四个类中,暂且分别叫他们StuModel, TchModel, EntModel, FamiModel,然后为这四个类抽象出一个接口,名为Model,然后在ImportExcel中使用类似如下的代码使用Model类:
public class ImportExcel{
private Model=null;
ImportExcel(Model aModel){
Model=aModel;
}
public doImport(){
……
}
……
}
我有几个问题,
第一个问题是,我不确定我对strategy模式的理解准不准确,使用的是不是正确。
第二个问题是,在这种情况中使用strategy模式有没有问题。
第三个问题是,strategy模式是用来方便的更换算法的,通常来说是根据用户的不同需要,跟用户进行交互,由用户来选择一种算法,比如说gui上使用一个下拉列表,上边列出了若干算法,这个时候确定按钮中应该如何处理用户在下拉列表中的选择,创建不同类型的Model?(下拉列表中通常传回的是String吧?不知有没有方法直接传回相应的Model类,JComboBox在列表中显示时是调用Objct.toString()来显示add()到其中的Object吗?)我猜是使用Class.forName(),不知对不对:)
第四个问题是,如果在没有用户交互的情况下使用strategy模式有什么优势。
问题多了点,而且很初级,请不吝赐教,谢谢了先。
banq
悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: 请教benq大哥strategy模式在实际中的一个应用
2004年06月01日 21:13
>第一个问题是,我不确定我对strategy模式的理解准不准确,使用的是不是正确。
我感觉使用Factory模式更好一些,strategy模式完全是算法策略,而你这里好像除了算法,还有不同的算法结果,产品
>第二个问题是,在这种情况中使用strategy模式有没有问题。
一定使用,初期不会有问题,问题是在扩展或Refactorying才发现
>第四个问题是,如果在没有用户交互的情况下使用strategy模式有什么优势。
strategy模式是独立于客户端变化的,而你是依据客户变化,使用strategy模式 不妥当,strategy模式是一个小模式,行为模式,非常简单,而你这里涉及到元素很多,需要考虑结构模式或创建型模式去做。
我认为应该是Command + Factory结合。
在用户界面互动中,惯例已经是Event驱动Command了,可以参考我的书籍相关事件模式描述。
这个主题有
1
回复 /
1
页
Go
上一主题
返回本主题
返回主题列表
返回页首
下一主题
热点TAG:
AOP
cache
缓存
DDD
EJB
集群
设计模式
Hibernate
IOC
JiveJdon
OO
RBAC
Seam
Spring
Struts
正在读取,请等待...
Wowzio
grab this
·
technology
blog
查询本论坛内
近一天
近三天
近一周
近一月
近三月
近半年
近一年
所有
回复超过
的热门帖子
标题
内容
发贴前查询
标签列表
勿重复发表问题
解惑之道在
J道
,打造中国最具影响力的的企业软件社区
OpenSource
JIVEJDON
v3.0
Powered by
JdonFramework
Code © 2002-08
jdon.com
anti spam