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就不会飙升了,哈哈

猜你喜欢

转载自xieyan30.iteye.com/blog/1832478