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

悄悄话
发表文章: 3
注册时间: 2004年06月23日 19:16
如何设计一个配置系统 2004年06月23日 19:43 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表
比如象Word软件的配置如何实现。

有n个对象,每个对象都需要保存一些参数设置。同时,有一个复杂的Dialog来配置所有这些对象的参数,设置完成后可以立即更新程序。

我本来打算弄一个接口,这个接口可以: LoadParam,SaveParam,ConfigParam(这个会生产一个配置窗体)。所有对象都从这个接口继承。然后当程序需要配置时,调用每一个对象的ConfigParam,把所有产生的配置窗体定位到一个容器Dialog上,形成象一个PageControl一样的结构。

但是想了一下觉得太麻烦了。

还不如直创建一个全局的ConfigDialog对象,显示,更新,读取,保存程序中所有的参数,然后由client代码,把这些参数赋给所有的对象。不过这样我觉得程序太乱了,每个参数信息保存在了两个地方,一个在对象本身,一个在ConfigDialog里,而且对象参数的改变可能不仅仅只由CongfigDialog来改变,这样的话还要随时更新Config里的数据,使Config对象到处被引用,非常混乱。

大家都用的什么好方法呢
fiddle

悄悄话
发表文章: 113
注册时间: 2003年12月17日 17:54
Re: 如何设计一个配置系统 2004年06月25日 15:27 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
所有可配置的对象实现Configurable 接口
调用Dialog更新Configuration,然后重新config所有configurable对象
banq

悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: 如何设计一个配置系统 2004年06月27日 18:53 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
感觉象GUI设计这么细微的地方使用模式很难判定,建议先写代码,然后refactoring到某个设计模式,也许没有设计模式可用。

个人认为,在实现很重要功能时,建议使用设计模式,这样便于他人理解,便于自己扩展,对于不重要功能,闭着眼睛写代码,等以后再重整Refactoring即可。

iterator

悄悄话
发表文章: 3
注册时间: 2004年06月23日 19:16
Re: 如何设计一个配置系统 2004年06月27日 21:42 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
要为一大团意大利面条refactoring,真是件困难的事,更坏的是让你后面的代码越来越乱
banq

悄悄话
发表文章: 9484
注册时间: 2002年08月03日 17:08
Re: 如何设计一个配置系统 2004年06月28日 20:14 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
那好,我提个解决模式:
“有n个对象,每个对象都需要保存一些参数设置。同时,有一个复杂的Dialog来配置所有这些对象的参数,设置完成后可以立即更新程序。”

使用Observer模式,Dialog处设定观察点,n个对象为接受激活的通知,一旦激活,每个对象更新自己应该更新的程序。

Observer模式在界面用得多。


kewan

悄悄话
发表文章: 46
注册时间: 2003年04月20日 19:11
Re: 如何设计一个配置系统 2004年07月24日 09:55 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
光用Obserer是不够的,肯定要用到Mediator。
其实不用关心用什么模式,你对要配置的东西都非常的了解吗?你知道那些要变,那些不需要变吗?如果这些问题都没有搞清楚,先不要去设计。真正需要的是对问题域的完整的理解。
这个主题有 5 回复 / 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链接 插入附件
内容
  发贴前查询 标签列表勿重复发表问题

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