读书人

小弟我对观察者模式的理解

发布时间: 2012-12-22 12:05:06 作者: rapoo

我对观察者模式的理解

小弟我对观察者模式的理解前言

???? 一直很少动手写文档,觉得自己只是一个新手,对很多技术点或者概念理解的不透彻,没多少自信。二来,做程序遇到困难时,在论坛上找到的几乎都是通篇的代码,只能一行行解读代码,自己自圆其说。我不太喜欢这种模式,但是又不知道如何找到详细的资料,天天百度,费力不讨好。在图书馆找参考书,大多都是些基础的东西,也没什么帮助。

??? 昨天,老师布置了一些作业,问我们应不应该强制?回来后我想了想,还是觉得不该强制,如果你爱JAVA,你自己会花时间在上面的。写文档倒是很有必要的。写文档,一来可以记录你的学习历程,二来可以暴露一些问题,如果你讲不清楚一个问题,很有可能时因为你对该问题的理解不透彻。

??

?? 今天,我要叙述的内容是观察者模式,也称发布/订阅模式,监听器模式

??

观察者模式是软体设计模式的一种。在此种模式中,一个目标物件(被观察者)管理所有相依于它的观察者物件,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察者所提供的方法来实现。此种模式通常被用来实作事件处理系统。

?

???叙述该问题,通篇叙述不如通过实例来的易理解,不用实例,估计我也讲不清楚小弟我对观察者模式的理解

??

?? 例:给一个JFrame上的JTree添加节点,通过线程给JTree添加5个节点

?

小弟我对观察者模式的理解1.直接调用模式

?????学习这么久,老师从没有讲过搭建模型,记得在写五子棋游戏的时候,那时候写的是郁闷的很,每添加一个功能时,都要修改好几个类。类与类的耦合非常高。????

??? 实现JFrame的JTree上添加节点:

??? 思路:用线程来模拟给JTree添加节点,在线程的构造器中传入JTree对象。

?????

观察者模式

?????首先需要定义消息处理接口

什么时候应该采用观察者模式

???? 我觉得,当一个对象改变时,同时要改变其他对象,而且不知道要改变多少其他对象时,应该考虑采用观察者模式。

?

?

由于我的水平有限,讲的不是很清楚,如果有错的,或是不好的地方,欢迎指出批评。

?

附上 《大话设计模式》下载链接 书中第14章有很生动的讲解

http://dl.iplaysoft.com/files/742.html

读书人网 >编程

热点推荐