【提问】设计问题<现有系统中的某个模块需要添加另外一种实现方式>

xupeihuagudulei4 2010-05-12 10:07:37
情况是这样的。
现在弄得报表技术这块。原先用的一套方法我就叫A吧。现在想提供一种B方案。结合到这个项目中。同时A方案也可以使用。
就相当于让用户可以选择使用哪种方法。
我想问的是现在这个B方案如何设计结合到现有代码中》?、
比如用什么模式。
...全文
194 21 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
其实现在想想用一个简单工厂也足够了。
根据客户端不同的参数然后再去生成相应的报表处理技术。
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
好像听到网上说策略加简单工厂实现起来效果更好
lixiaocong1987 2010-05-12
  • 打赏
  • 举报
回复
学习中!!!!!!
xiaotupansy 2010-05-12
  • 打赏
  • 举报
回复
http://tech.ddvip.com/2008-11/122584658688974.html
阿非 2010-05-12
  • 打赏
  • 举报
回复
Strategy Pattern
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
顶起,能否说得详细
xiaotupansy 2010-05-12
  • 打赏
  • 举报
回复
策略模式
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
不是支持多数据库。
不知道能不能看懂意思
就是说现在有另外一套报表的实现方法要放进现有的系统中
让用户有两种选择的权力。
要把另外一套实现方法结合到现有项目中。应该怎样设计呢
小_虎 2010-05-12
  • 打赏
  • 举报
回复
如果是想那些,支持多个数据库的,

用工厂+接口+反射就行了。
hanchao_5168 2010-05-12
  • 打赏
  • 举报
回复
不是不帮你,没看明白
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
多来些人啊。囧
xupeihuagudulei4 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jxyxhz 的回复:]

另建个文件夹,呵呵。
[/Quote]灌水呢你。小虎。
我说的是如何结合进。现在的新方案B肯定是要设计成一个类。
原先那个A类可能需要弄成接口或者抽象类之类的。
然后B中需要用到A方案中相同的东西放到接口或者抽象类中。。
小_虎 2010-05-12
  • 打赏
  • 举报
回复
另建个文件夹,呵呵。
xupeihuagudulei4 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 pengyi_205 的回复:]

这个直接A B 两方案继承同一接口

生成报表的方法放到接口中定义,

A B 方案给出不同实现方法,

选A方案直接将接口实例为A

选B方案直接将接口实例为B

接口调用方法就行了
[/Quote]呵呵,最终使用的可能就是用多态。
夺命胖子 2010-05-12
  • 打赏
  • 举报
回复
这个直接A B 两方案继承同一接口

生成报表的方法放到接口中定义,

A B 方案给出不同实现方法,

选A方案直接将接口实例为A

选B方案直接将接口实例为B

接口调用方法就行了
xupeihuagudulei 2010-05-12
  • 打赏
  • 举报
回复
我再好好看看,慢慢想想,差不多结论要出来了。
哎,原先设计模式都草草看过一遍。
可是想深入咋也深入不了。
悔说话的哑巴 2010-05-12
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 xupeihuagudulei 的回复:]
还有一些特殊性。
就是需要添加的另外一种方案与原先方案中有很多共用的对象<类>
好像这样的话。有哪个模式都不是非常适合。
[/Quote]合并
悔说话的哑巴 2010-05-12
  • 打赏
  • 举报
回复
http://www.cnblogs.com/cj723/archive/2007/03/21/682479.html
加载更多回复(1)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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