哪位大虾给俺讲一下Interception模式

peon 2003-08-28 09:59:26
如题,谢谢!~

可以继续放分,500封顶
...全文
71 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
peon 2003-08-29
  • 打赏
  • 举报
回复
看了这个贴子有兴趣的兄弟们可以看看这个:安全模型的一种模式语言

http://www.uml.org.cn/sjms/sjms52.htm

有一些GOF没有的模式(就一些名字,但是列了不少的书 )
peon 2003-08-29
  • 打赏
  • 举报
回复
好的,应该够了,十分感谢!准备再给200分,这位兄弟想到哪个版得?
fita 2003-08-29
  • 打赏
  • 举报
回复
hehe,就再这个版把
fita 2003-08-28
  • 打赏
  • 举报
回复
Interception是一种架构模式,它具备以下两个特点:
1、允许服务可以透明地增加到系统框架中
2、当促发服务启动的事件发生时,系统框架可以自动地触发服务的执行

例如在Java中的event模型,就是一种典型的Interception模式
public class Demo extends JApplet {
public void init() {
bHandler = new ButtonHandler();
button = new JButton("Click Me");
getContentPane().add(button,
BorderLayout.CENTER);
button.addActionListener(bHandler);
}
public class ButtonHandler
implements ActionListener
void actionPerformed(ActionEvent e) {
Toolkit.getDefaultToolkit().beep();
}
}
按钮首先在系统中注册按钮按下时的处理对象(addActionListener),当用户点击按钮时,系统框架自动根据这个消息调用ButtonHandler的actionPerformed函数触发服务的执行

peon 2003-08-28
  • 打赏
  • 举报
回复
好像这种模式广泛使用在.net和java的事件系统里
fita 2003-08-28
  • 打赏
  • 举报
回复
你这也是一种实现方式了。interception模式的主要组成部分包括:
1、dispatcher 负责服务注册和事件触发调用
2、Interceptor 就是各个具体的服务,他们应遵守统一的调用接口
3、context 事件发生时,需要获得当时系统的上下文信息传送给interceptor处理
4、core system 提供系统的状态信息,供context对象构建上下文信息

中文的介绍我也没看到,不过给两个英文的powerpoint把,说的也比较容易懂了
http://wendtstud1.hpi.uni-potsdam.de/SCAP/documents/Interceptor.pdf
http://students.cec.wustl.edu/~cs562/interceptors.pdf
peon 2003-08-28
  • 打赏
  • 举报
回复
在你的例子里面,
button.addActionListener(bHandler);

-------------------------------------------------
实现也许是一arrrylist
_click_handler_list.push_bak( bHandler );

在fire一个事件时,
{
foreach( ActionListener each in _click_handler_list )//呵呵,用了c#的用法
each.actionPerformed( e );

elseAction();
}

这样的实现理解,对吗?
-----------------------------------------------------
回调是一种主要的服务触发方式,但interception模式的重点不在于回调,而在于服务的注册和消息触发机制。
那么像HOOK之类的技术,也是interception模式的应用吗?
-----------------------------------------------------
有什么文档或者网址,发一点看看,我在google上没有搜索到什么(E文不行啊!中文搜的)
fita 2003-08-28
  • 打赏
  • 举报
回复
回调是一种主要的服务触发方式,但interception模式的重点不在于回调,而在于服务的注册和消息触发机制。
而且interception模式也不仅限于OO领域实现,数据库的触发器机制也是interception模式
peon 2003-08-28
  • 打赏
  • 举报
回复
看了上面

觉得可以看成是OO的回调,对吗?各位发表一下意见

50,523

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧