`
xieyan30
  • 浏览: 49148 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

java设计模式之观察者模式(2)

 
阅读更多

大家看这篇文章的时候应该看过[java设计模式之观察者模式(1)]了吧,应该会有疑问吧。

如果大家仔细看了[java设计模式之观察者模式(1)],应该会看到一个死循环,这样你运行几次试试,你的机器很快会很卡,哈哈,而且(1)中的代码是面向过程的。

 

既然我们知道了错误,那我们应该怎么样修正呢。

我们用高科技手段,做一个芯片植入到对手的脑袋里,哈哈

开始改造代码。

我们先制作芯片:

package spring3.event;

public class Chip {

	// 我是芯片报告的对象
	private Me me = new Me();

	public void callMeDoKungFu() {
		System.out.println("芯片报告:他开始练习武术了");
		me.doKungFu();
	}

	public void callMeDoStudy() {
		System.out.println("芯片报告:他开始提高智商了");
		me.doStudy();
	}
}

 将芯片植入到他大脑进行监视

package spring3.event;

public class Him {
	private Chip chip = new Chip();

	public void doKungFu() {
		System.out.println("他:开始练习武术了...");
		chip.callMeDoKungFu();
	}

	public void doStudy() {
		System.out.println("他:开始提高智商了...");
		chip.callMeDoStudy();
	}

}

 我还是以前的我,没有变化哈哈

package spring3.event;

public class Me {

	public void doKungFu() {
		System.out.println("我要练克制他的武术...");
	}

	public void doStudy() {
		System.out.println("我要学习比他高的知识...");
	}

}

 现在来测试

package spring3.event;

public class Test {

	public static void main(String[] args) {
		Him him = new Him();
		him.doKungFu();
		System.out.println();
		him.doStudy();
	}
}

 测试结果:

他:开始练习武术了...
芯片报告:他开始练习武术了
我要练克制他的武术...

他:开始提高智商了...
芯片报告:他开始提高智商了
我要学习比他高的知识...

 这样你的cpu就不会飙升了,哈哈

0
0
分享到:
评论
2 楼 xieyan30 2013-03-21  
你没有看第3篇
前两篇都是观察者模式的来历
你发的链接是java封装好的,我的第3篇就是用通过java封装的类的
1 楼 triom 2013-03-20  
哥,你这叫哪门子观察者模式啊!

建议你看看别人的吧。
http://www.iteye.com/topic/102068/

相关推荐

    java设计模式之观察者模式

    Java设计模式是软件开发中的重要概念,它们是解决常见编程问题的经验总结,使得代码更加可复用、可扩展和易于维护。观察者模式(Observer Pattern)是这些模式中的一种,它在多对一的关系中使用,当一个对象的状态...

    设计模式之观察者模式Java实现

    观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...

    java23种设计模式之观察者模式

    **观察者模式(Observer Pattern)**是软件设计模式中的一种行为模式,它在Java中有着广泛的应用。这个模式的核心思想是“一对多”的依赖关系,即一个主题对象(Subject)可以被多个观察者(Observer)关注,当主题...

    java 设计模式 观察者模式 简单实例 包括测试test类

    观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于实现事件驱动或者发布...

    Java 设计模式-观察者模式(Observer)

    结合微信公众号讲解观察者模式,生动形象,关键是上手快啊

    设计模式--观察者模式java例子

    观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式常用于事件驱动的系统或者...

    java观察者模式观察者模式

    观察者模式是设计模式中的一种行为模式,它在Java编程中有着广泛的应用。该模式的主要目的是定义对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式也被...

    Java设计模式——观察者模式

    首先,我们来看"Java设计模式——观察者模式的两种情况": 1. **主动通知**: 在这种情况下,被观察者对象在自身状态发生变化时,会主动调用`Observable`接口提供的`notifyObservers()`方法,将变化通知给所有注册的...

    java设计模式系列之观察者模式代码

    在Java编程领域,设计模式是一种被广泛采用的最佳实践,它为解决常见的软件设计问题提供...在Java中,`java.util.Observable`和`java.util.Observer`是内置的观察者模式实现,可以方便地用于快速构建观察者模式的系统。

    《java设计模式》课后习题模拟试题解答——刘伟.zip

    Java设计模式是软件工程中的一种最佳实践,它总结了在特定场景下解决常见问题的经验,为程序员提供了可重用的解决方案。本资料“《java设计模式》课后习题模拟试题解答——刘伟.zip”主要涵盖了Java设计模式的学习与...

    [行为模式]head first 设计模式之观察者模式(observer)

    观察者模式(Observer Pattern)是设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。这种模式在软件开发中广泛应用于事件驱动...

    Java常用的3中设计模式代码即工厂模式、单例模式、观察者模式demo

    在Java中,`java.util.Observable`和`java.util.Observer`接口提供了观察者模式的实现。例如,当我们有一个`WeatherStation`类(被观察者)和多个`WeatherDisplay`类(观察者)时,`WeatherStation`的气象数据变化会...

    观察者模式java实现观察者设计模式

    观察者模式(Observer Pattern)是软件设计模式中的一种行为模式,它定义了对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并自动更新。在Java中,我们可以利用Java提供的...

    Java内置观察者模式

    观察者模式(Observer Pattern)是设计模式中的一种行为模式,它允许一个对象,当其状态发生改变时,能够自动通知所有依赖它的其他对象。在Java中,这种模式已经被内置到语言核心,使得开发者可以轻松地实现事件驱动...

    JAVA设计模式(java设计)

    - 观察者模式:定义对象之间的一对多依赖关系,当一个对象的状态改变时,所有依赖于它的对象都会得到通知并自动更新。 - 状态模式:允许对象在其内部状态改变时改变其行为,看起来像改变了它的类。 - 策略模式:...

    java观察者模式实例

    观察者模式是设计模式中的一种行为模式,它在软件工程中扮演着重要的角色,尤其是在构建可扩展和可维护的系统时。在这个实例中,我们将深入理解如何在Java中实现观察者模式,以及它如何利用继承和多态性来增强概念...

Global site tag (gtag.js) - Google Analytics