关于工厂模式的一个问题

sonkey 2006-03-21 10:25:11
我想在工厂成生的每种类里面定义不同的事件(而且个数不定),在调用工厂的程序实现事件。不知道有什么好方法呢。果如工厂做不到的话,能有其他什么方法来实现呢?
...全文
205 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
sonkey 2006-03-25
  • 打赏
  • 举报
回复
to Ivony:
我想工厂生成不同的指令。
而且在不同指令的处理中会触发不同的事件。而且事件的数目不能确定。
unknow_123 2006-03-22
  • 打赏
  • 举报
回复
定义一个命令分析处理的函数,放在接口里面,然后每个继承的都有这个分析处理函数,根据不同的命令参数来实现不同的功能,不就行了吗?
不知道我的想法能解决你的问题不
sonkey 2006-03-21
  • 打赏
  • 举报
回复
其实我现在遇到的情况是:我现做一个实现根据不同参数得到不同指令的工厂。每种指令类里面会触发不同的事件。

我在一个类(Class A)里面调用这个工厂来实现相应的操作。最后我现在一个winform里面实现事件。因为类A里面相对固定,而那些指令要根据业务不同而经常变化,所以我想把那部分抽象出来。这是我主要的目的。
liushui1981 2006-03-21
  • 打赏
  • 举报
回复
我也学习!!!
不过觉得用委托可以实现你的想法!!
hyena041 2006-03-21
  • 打赏
  • 举报
回复
个人感觉工场里面出来的,不管你是什么类型,应该都是相同的
工场模式提供的就是,不管你的材料是什么,需要用到什么具体的方法,工厂都不管,但是出来的东西是一样的
从这个角度来看,就不会存在,不同的实现是不同的现象了

但是从程序角度看,如果你在各个继承工程借口的实现类里面增加自己的独有方法,应该也是可以的

用起来就有点讨厌了,这样做,很可能会把借口作混掉吧,另外一个想法,就是在借口里面也作每个实现方法,你要你有一个类需要增加新的方法,借口里面也增加,各个实现类也增加,只是不需要的实现类返回的是空应该是可以的吧!

看看高人怎么说,学习
Ivony 2006-03-21
  • 打赏
  • 举报
回复

就是让工厂自动给生成的对象绑定事件吧。

这不是设计模式的问题。


首先要把这个问题分化,
第一是工厂对其生成的对象进行操作,这一点是可以做到的。而且没必要工厂来做,调用方可以在获得工厂的产品(也就是对象)后再进行绑定,为了消除重复的代码,可以把这一部分放到工厂类里面去,或是另外写一个函数来处理,这都是优化代码,与工厂模式无关。
第二是要绑定到数目不同的事件上去,这一点除非是被生成的对象本身就提供一个批量绑定事件的功能或者利用反射一个一个的绑定,否则很难实现。
MonkWang 2006-03-21
  • 打赏
  • 举报
回复
学习
帮顶
dayasky 2006-03-21
  • 打赏
  • 举报
回复
事件个数不一样?

那来个pool怎么样,比如用ArrayList,把一些接口引用放进去,一个个地调用?
Ivony 2006-03-21
  • 打赏
  • 举报
回复
我现做一个实现根据不同参数得到不同指令的工厂???

你根据参数生产工厂,然后再让这些工厂生产指令对象?

还是一个工厂根据参数生成不同的指令?


你应该多看看命令模式和组合模式。

如果事件集中处理,可以看看AOP和Context的概念……
sonkey 2006-03-21
  • 打赏
  • 举报
回复
up

110,535

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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