设计模式有那些? 观察者模式的实现原理和好处?

时间:2022-10-01 22:11:13
目前公司项目用到了观察者模式,谁能告诉我设计模式的好处和作用?

12 个解决方案

#1


该回复于2008-08-01 05:23:54被版主删除

#2


lz,这种问题google问比较好,你问我们,我们也是去那找..谁记得那么清楚啊

#3


好处只有用过的人才知道~嘿嘿~

#4


你用过邮件订阅吗? 就是有新的新闻。他会自动发邮件给你。

你也可以点一个链接取消订阅。

你就是观察者。

好处,你会自动获得你感兴趣(订阅)的信息,而无需自己亲自访问
而信息发布者也无需关心你是谁,只要你订阅了,我就发给你就好了。


JMS 里面用这个的比较多。

#5


想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦  


来源: http://www.java2000.net/viewthread.jsp?tid=6353

#6


观察者模式优点:(1)观察者模式在被观察者和观察者之间简历一个抽象的耦合.被观察者所知道的只是一个具体观察者的聚集,每一个具体观察者都符合一个抽象观察者的接口.被观察者并不认识任何一个具体观察者,它只知道他们都有一个共同的接口.由于观察者和被观察者没有紧密的耦合在一起,因此他们可以属于不同的抽象化层次.如果观察者和被观察者都被扔在一起,那么这个对象必然跨越抽象化和具体化层次.(2)观察者模式支持广播通信.被观察者会向所有登记过的观察者发出通知.
用处:一个软件系统常常要求在某一个对象状态发生变化的时候,某些其他的对象作出相应的改变.为了减少对象之间的耦合有利于系统的复用,但是需要这些低耦合的对象之间能够维持行动的协调一致,保证高调的动作.------观察者模式最能满足这一需求.
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态上发生变化时,会通知所有的观察者对象,使他们能够自动更新自己.

#7


verry nice

#8


设计模式有很多,还是看完完全理解以后再用吧,这玩意用不好感觉事倍功半!

#9


引用 7 楼 chaoqunhe 的回复:
verry nice


第一个单词啥意思。。。。veery吧好像

#10


谢谢各楼大侠指点!手误、手误、设计模式知是知道有很多;但了解的充其量就一俩个;伤脑筋的很啊!

#11


向主题注册成为观察者,
主题有新的状态会自动通知观察者。//you don't call me,i'll call you

#12


 观察者定义了对象间一对多的关系,当一个对象的状态变化时,所有依赖它的对象都得到通知并且自动地更新。

#1


该回复于2008-08-01 05:23:54被版主删除

#2


lz,这种问题google问比较好,你问我们,我们也是去那找..谁记得那么清楚啊

#3


好处只有用过的人才知道~嘿嘿~

#4


你用过邮件订阅吗? 就是有新的新闻。他会自动发邮件给你。

你也可以点一个链接取消订阅。

你就是观察者。

好处,你会自动获得你感兴趣(订阅)的信息,而无需自己亲自访问
而信息发布者也无需关心你是谁,只要你订阅了,我就发给你就好了。


JMS 里面用这个的比较多。

#5


想知道咱们公司最新MM情报吗?加入公司的MM情报邮件组就行了,tom负责搜集情报,他发现的新情报不用一个一个通知我们,直接发布给邮件组,我们作为订阅者(观察者)就可以及时收到情报啦  


来源: http://www.java2000.net/viewthread.jsp?tid=6353

#6


观察者模式优点:(1)观察者模式在被观察者和观察者之间简历一个抽象的耦合.被观察者所知道的只是一个具体观察者的聚集,每一个具体观察者都符合一个抽象观察者的接口.被观察者并不认识任何一个具体观察者,它只知道他们都有一个共同的接口.由于观察者和被观察者没有紧密的耦合在一起,因此他们可以属于不同的抽象化层次.如果观察者和被观察者都被扔在一起,那么这个对象必然跨越抽象化和具体化层次.(2)观察者模式支持广播通信.被观察者会向所有登记过的观察者发出通知.
用处:一个软件系统常常要求在某一个对象状态发生变化的时候,某些其他的对象作出相应的改变.为了减少对象之间的耦合有利于系统的复用,但是需要这些低耦合的对象之间能够维持行动的协调一致,保证高调的动作.------观察者模式最能满足这一需求.
观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态上发生变化时,会通知所有的观察者对象,使他们能够自动更新自己.

#7


verry nice

#8


设计模式有很多,还是看完完全理解以后再用吧,这玩意用不好感觉事倍功半!

#9


引用 7 楼 chaoqunhe 的回复:
verry nice


第一个单词啥意思。。。。veery吧好像

#10


谢谢各楼大侠指点!手误、手误、设计模式知是知道有很多;但了解的充其量就一俩个;伤脑筋的很啊!

#11


向主题注册成为观察者,
主题有新的状态会自动通知观察者。//you don't call me,i'll call you

#12


 观察者定义了对象间一对多的关系,当一个对象的状态变化时,所有依赖它的对象都得到通知并且自动地更新。