文档章节

Collecting Parameter模式

猪刚烈
 猪刚烈
发布于 2014/10/12 11:40
字数 412
阅读 18
收藏 0

  作为一种不太常被提及的设计模式,Collecting Parameter并太为人所熟知。我对这一模式的认识最初来自《JUnit In Action》一书2.4节对TestResult的介绍。JUnit中的TestResult就是Collecting Parameter模式的应用。简单来讲,当我们需要收集一连串多个方法的返回值时,我们需要在这些方法中传入一个对象,用以收集返回的结果。目前在oobbs系统的DomainEvent机制的设计中我又遇到了这一模式的一个典型应用场景。当一个DomainObject触发一个事件时,相应的监听器会监听到这个事件然后做出相应的处理。DomainObject有时需要得到处理的结果,这时我们可以让监听器的处理方法以返回值的形式返回处理结果,但从事件处理的机制来看这有些怪异,因为一般意义上,监听器的处理方法是没有返回值的,如果事件源有需要改变的地方监听器会在传过来的event对象得到事件源的引用,进而可以对其直接操作。但是很多时候,DomainEvent的监听器需要返回的是DomainObject业务方法在计算过程中需要的中间值(local variable),DomainObject并没有相应的field. 更重要的一个原因是:有时候,一个domain event很有可能会被两个以上的listener接连处理,有时候,后续的listener可能需要知道前一个listener处理的结果,在此情况下,Collecting Parameter显得更加必要。

本文转载自:http://blog.csdn.net/bluishglc/article/details/5984601

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
私信 提问
12cR2_AWR相关参数设置

Oracle 12cR2 性能优化文档。 https://docs.oracle.com/database/122/TDPPT/oracle-database-performance-method.htm#TDPPT007 Gathering Database Statistics Using the Automatic Workloa......

roidba
2017/10/25
0
0
NetXMS 2.1-M1 发布,系统监控工具

NetXMS 2.1-M1 发布了。 NetXMS 是一个新的,发展迅速的系统监控工具, 在GPL2许可下发布。它可用于监测整个IT基础设施,从支持SNMP的硬件(如交换机和路由器)到您的服务器或者是应用程序。...

达尔文
2016/10/10
2.4K
0
理解并取证:以太通道的动态协商机制的工作原理

理解并取证:以太通道的动态协商机制的工作原理                      取自博主《思科CCNP交换技术详解与实验指南》试读版 3.1理解以太通道的理论部分 3.1.1提出以太通...

kingsir827
2015/12/23
0
0
使用 certbot-auto 安装let s encrypt 证书报错

使用 certbot-auto 安装let s encrypt 证书报错 错误信息: pip prints the following errors: ===================================================== Collecting argparse==1.4.0 (from -......

任重而道元
2017/03/08
1K
2
关于DB2 复制 Schema(模式)

各位数据库的大牛 目前我遇到了一个 复制DB2 Schema的问题 我这里有一个ITMUSER 的模式 下面有比较多的表 我现在想在当前数据库下重新拷贝一个模式,名字不一样而已 我使用了ADMIN_COPY_SCHE...

Zofda
2012/07/26
2.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
21
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
17
0
my.ini

1

architect刘源源
今天
14
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
15
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
27
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部