一. 概述
Observer 模式要解决的问题为:建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候,依赖这个“一”的多也能够同步改变。
Sbuject 相当于通知者,它提供依赖于它的观察者Observer 的注册(Attach)和注销(Detach)操作,并且提供了使得依赖于它的所有观察者同步的操作(Notify)。
Obse...
分类:
编程语言 时间:
2014-09-27 14:43:59
阅读次数:
355
本文基于shiro的web环境,用宏观(也就是不精确)的角度去理解shiro的工作流程,先看shiro官方的一张图。 和应用程序直接交互的对象是Subject,securitymanager为Subject服务。可以把Subject看成一个用户,你的所...
分类:
其他好文 时间:
2014-09-25 14:16:19
阅读次数:
168
public interface Subject {
//业务操作
public void doSomething(String abc);
}
-----
public class RealSubject implements Subject {
//业务操作
public void doSomething(String str) {
System.out.print...
分类:
其他好文 时间:
2014-09-22 10:38:52
阅读次数:
162
于是我想要按照自己的理解把这个过程尽可能详细的剖析出来,在行文上我打算按照时间线的方式,这样又好写,也好读,好理解。这应该会写成一个系列,刚好最近开始在看很多人都在推荐的热门书,http 权威指南,这本,http://book.douban.com/subject/10746113/,跟我想要说的差不多的,于是就一边当作是读书笔记吧
那我们就开始了,故事其实并不是从在浏览器的地址栏输入一个网址,或者我们抓着鼠标点击一个链接开始,事情的开端要追溯到服务器启动监听服务的时候,在某个未知的时刻,一台机房里普普...
分类:
Web程序 时间:
2014-09-21 19:47:31
阅读次数:
257
场景:
1. 比如在界面开发中,多个窗口之间需要通讯,比较常见的方法就是各个窗口之间包含对其他窗口的引用,之后在需要时通过其他窗口的引用来调用相应的函数获取相应的值;
但是这个确定还是比较明显的,就是会造成窗口之间的依赖和耦合,想想测试或变异某个窗口时另一个窗口必须是没问题的,而另一个窗口编译又依赖它,这样成了反复依赖
导致编译不过或修改其中一个另一个就得相应的该。很麻烦,不好维护。
2. 还有的不切实际的解决办法是在窗口之间发送事件,比如qt得信号或win32的消息,但是这样会造成消息的泛滥,资源...
分类:
其他好文 时间:
2014-09-21 18:31:11
阅读次数:
188
From: Will DeWitt Jr. Subject: Fast strlen routine?NewsGroup: borland.public.delphi.language.basmDate Posted: 28-May-2003 at 13:50:4 PST Download...
分类:
其他好文 时间:
2014-09-17 08:55:12
阅读次数:
361
Mysql中的count()与sum()区别首先创建个表说明问题CREATE TABLE `result` ( `name` varchar(20) default NULL, `subject` varchar(20) default NULL, `score` tinyint(4) defaul...
分类:
数据库 时间:
2014-09-12 11:29:03
阅读次数:
283
观察者模式具有以下组件(1) Subject 目标: 维护一系列的观察者,方便添加或者删除观察者(2) Observer 观察者 : 为那些在目标状态发生改变时需获取得通知的对象提供一个接口(3) ConcreteSubject 具体目标 : 状态发生改变时,向observer发出通知,储存Conc...
分类:
其他好文 时间:
2014-09-09 22:47:39
阅读次数:
246
HashMap.java源代码:/** Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.* ORACLE PROPRIETARY/CONFIDENTIAL. Use is subject to.....
分类:
编程语言 时间:
2014-09-03 12:37:16
阅读次数:
307
JDK的动态代理public interface Subject { Object request(); void hello();}public class RealSubject implements Subject{ public RealSubject(){}; pu...
分类:
编程语言 时间:
2014-09-03 09:37:06
阅读次数:
215