在系统中大量使用观察者模式会有什么不好的后果

06-04-24 mythmoon
在系统中大量使用观察者模式会有什么不好的后果:

1.普通实现observer

2.aop实现

3.mbean实现

请各位帮忙解或下!

非常感谢

    

banq
2006-04-24 11:43
observer和aop并不矛盾,使用AOP可以实现observer。

使用JDK的observer实际上就是大量开启了新的线程,这是和你的访问量的线程有关的。

大量使用observer从设计没有什么不可以,只是性能考量,大量使用性能降低,就象走路,直的路不走,尽走弯的路。

mythmoon
2006-04-24 12:23
如果架构以观察者模式为中枢有没有什么好的方法解决性能问题了!

――――――――――――――――――――――――――――――――

多谢指点!

banq
2006-04-24 12:56
>架构以观察者模式为中枢有没有什么好的方法

单机情况下:以并发访问量为基准,当你有并发10个线程,如果一个线程再激活2个观察线程,那么实际并发线程是10+10x2=30线程,对单机负载冲击大,带来结果是,有些观察者执行比较缓慢,等半天才执行。

如果有这种情况下,单机性能可能不佳,考虑使用多台高效率协作方式提高整体性能,那么就需要集合JMS这样高效率的架构。

mythmoon
2006-04-24 17:18
多谢bang指点 。

猜你喜欢