文档章节

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.3K
0
理解并取证:以太通道的动态协商机制的工作原理

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

kingsir827
2015/12/23
0
0
liinux/crawler4j

#--------------------------------------------------------------------------------- #说明:源码地址 #https://github.com/yasserg/crawler4j #此项目目的仅为学习此源代码。 #学习样例代......

liinux
2016/08/18
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
297
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部