设计模式之第18章-观察者模式(Java实现)
2015-01-29 22:58
579 查看
[b]设计模式之第18章-观察者模式(Java实现)[/b]
话说曾小贤,也就是陈赫这些天有些火,那么这些明星最怕的,同样最喜欢的是什么呢?没错,就是狗仔队。英文的名字比较有意思,是paparazzo,这一说法据说来自意大利电影《滴露牡丹开》中一个专门偷拍明星照片的一个摄影师的名字,“Paparazzo”,中文译为帕帕拉齐,俗语就是狗仔队。这些明星因狗仔队而荣,获得曝光率,也因狗仔队而损,被曝光负面新闻,不管怎么说,总之是“火起来了”,让明星们又爱又恨。(众人:鱼哥,你扯远了)。咳咳,这个狗仔队其实嘛,也就是所谓进行监视观察活动,接下来就让观察者来给我们讲讲观察者与设计模式不得不说的那些个事儿。
[b]观察者模式之自我介绍[/b]
额就四(我就是)观察者,也被称作依赖或者发布订阅,是在项目中经常用到的一种模式。定义如下:Define a one-to-many dependency between objects so that when one objects changes state, all its dependents are notified and updated automatically.翻译过来就是说:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者的通用类图如下:
View Code
好了,基本实现就是这样子了。
[b]观察者模式之应用场景[/b]
当你遇到以下任意一种情况,可以考虑使用额来实现:
当一个抽象模型有两个方面,其中一个依赖于另一个方面。
当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。
当一个对象必须通知其它对象,而它又不能假定其它对象是谁。
这个时候就轮到我登场了,狗仔队就是额,额就四狗仔队,噢耶。“动二动二,我是动幺,这里有一名疑似精神病院跑出来的患者,赶紧给予抓捕带回”,“鱼哥,救额,额不是精神病,你快告诉他们。”(作者按:少一个了,这样以后就少一个人和我抢零食了。默默离开)。金坷垃刺秦王,设计模式任我闯。
PS:本博客欢迎转发,但请注明博客地址及作者~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦
话说曾小贤,也就是陈赫这些天有些火,那么这些明星最怕的,同样最喜欢的是什么呢?没错,就是狗仔队。英文的名字比较有意思,是paparazzo,这一说法据说来自意大利电影《滴露牡丹开》中一个专门偷拍明星照片的一个摄影师的名字,“Paparazzo”,中文译为帕帕拉齐,俗语就是狗仔队。这些明星因狗仔队而荣,获得曝光率,也因狗仔队而损,被曝光负面新闻,不管怎么说,总之是“火起来了”,让明星们又爱又恨。(众人:鱼哥,你扯远了)。咳咳,这个狗仔队其实嘛,也就是所谓进行监视观察活动,接下来就让观察者来给我们讲讲观察者与设计模式不得不说的那些个事儿。
[b]观察者模式之自我介绍[/b]
额就四(我就是)观察者,也被称作依赖或者发布订阅,是在项目中经常用到的一种模式。定义如下:Define a one-to-many dependency between objects so that when one objects changes state, all its dependents are notified and updated automatically.翻译过来就是说:定义对象间一种一对多的依赖关系,使得每当一个对象改变状态,则所有依赖于它的对象都会得到通知并被自动更新。观察者的通用类图如下:
public class Client{ public static void main(String[] args) { //出来一个狗仔队 Observer paparazzo = new Paparazzo(); //曾小贤出场 ZengXiaoXian zengxiaoxian = new ZengXiaoXian(); zengxiaoxian.addObserver(paparazzo); //看看曾小贤在干嘛 zengxiaoxian.eat(); zengxiaoxian.play(); zengxiaoxian.sleep(); } }
View Code
好了,基本实现就是这样子了。
[b]观察者模式之应用场景[/b]
当你遇到以下任意一种情况,可以考虑使用额来实现:
当一个抽象模型有两个方面,其中一个依赖于另一个方面。
当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改变。
当一个对象必须通知其它对象,而它又不能假定其它对象是谁。
这个时候就轮到我登场了,狗仔队就是额,额就四狗仔队,噢耶。“动二动二,我是动幺,这里有一名疑似精神病院跑出来的患者,赶紧给予抓捕带回”,“鱼哥,救额,额不是精神病,你快告诉他们。”(作者按:少一个了,这样以后就少一个人和我抢零食了。默默离开)。金坷垃刺秦王,设计模式任我闯。
PS:本博客欢迎转发,但请注明博客地址及作者~
博客地址:http://www.cnblogs.com/voidy/
博客新址:http://voidy.net
<。)#)))≦
相关文章推荐
- Java设计模式菜鸟系列(两)建模与观察者模式的实现
- 设计模式之观察者模式(有源码简单实现及java函数简单实现)
- 设计模式--观察者模式--Java实现
- JAVA设计模式 之 观察者模式(JDK内置实现)
- 设计模式-观察者模式(Java实现)
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 观察者模式(Observer) - Java实现
- 使用观察者模式实现Java应用程序设计MVC模式
- GOF23设计模式之观察者模式的理解与实现2(使用java自带的观察者类和接口)
- 设计模式:观察者模式(observer) java实现及原理
- 23种经典设计模式的java实现_5_职责链模式
- 用JSP+Servlet+JavaBean模式实现一个简单的登录网页设计(JSP+Tomcat+MySQL)
- GoF设计模式学习之一:单例模式(Java实现)
- JAVA23种设计模式实现
- java设计模式-观察者模式
- 23种经典设计模式的java实现_2_适配器模式
- 用Java实现的设计模式系列(2)-Prototype
- 23种经典设计模式的java实现_4_生成器模式
- 用Java实现的设计模式系列(1)-Factory
- 23种经典设计模式的java实现_4_生成器模式
- C#中利用代理实现观察者设计模式