arrow
返回

Blending design patterns with aspects: A quantitative study

delete2014-12-01
delete7
PRE
AI
N
Nélio Cacho *
S
St Anna, Claudio
E
Eduardo Figueiredo
F
Francisco Dantas
A
Alessandro Garcia
T
Thaı́s Batista
DOI:10.1016/j.jss.2014.08.041delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
Design patterns often need to be blended (or composed) when they are instantiated in a software system. The composition of design patterns consists of assigning multiple pattern elements into overlapping sets of classes in a software system. Whenever the modularity of each design pattern is not preserved in the source code, their implementation becomes tangled with each other and with the classes' core responsibilities. As a consequence, the change or removal of each design pattern will be costly or prohibitive as the software system evolves. In fact, composing design patterns is much harder than instantiating them in an isolated manner. Previous studies have found design pattern implementations are naturally crosscutting in object-oriented systems, thereby making it difficult to modularly compose them. Therefore, aspect-oriented programming (AOP) has been pointed out as a natural alternative for modularizing and blending design patterns. However, there is little empirical knowledge on how AOP models influence the composability of widely used design patterns. This paper investigates the influence of using AOP models for composing the Gang-of-Four design patterns. Our study categorizes different forms of pattern composition and studies the benefits and drawbacks of AOP in these contexts. We performed assessments of several pair-wise compositions taken from 3 medium-sized systems implemented in Java and two AOP models, namely, AspectJ and Compose*. We also considered complex situations where more than two patterns involved in each composition, and the patterns were interacting with other aspects implementing other crosscutting concerns of the system. In general, we observed two dominant factors impacting the pattern composability with AOP: (i) the category of the pattern composition, and (ii) the Aspecti idioms used to implement the design patterns taking part in the composition. (C) 2014 Elsevier Inc. All rights reserved.
Keyword:
Design patterns
Aspect-oriented programming
Composability
Empirical studies
Metrics
AI总结

AI总结

对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。

期刊

Journal of Systems and Software 封面图
Journal of Systems and Software
IF:
4.1
论文数:
5.4K
被引数:
8.4K

机构

U
Universidade Federal de Minas Gerais
学者数:
2.5W
论文数: 1.5W
被引数: 1.4W
Universidade Federal do Rio Grande do Norte 封面图
Universidade Federal do Rio Grande do Norte
学者数:
9.8K
论文数: 5.5K
被引数: 5.2K
P
pontificia universidade catolica do rio de janeiro
学者数:
2.2K
论文数: 1.7K
被引数: 0
U
Universidade Federal da Bahia
学者数:
9.4K
论文数: 5.3K
被引数: 4.3K
学者 查看更多机构
引用论文

引用论文

JADE: A software framework for developing multi-agent applications. Lessons learned
err2008-01-01
err187
PREAI
errBellifemine, Fabio; Caire, Giovanni; Poggi, Agostino; Rimassa, Giovanni
err分享
err收藏
err分享
err收藏
Effect of Exercise on Protein Turnover in Man运动对男性蛋白质周转的影响
err1981-11-01
err0
PREAI
errM. J. Rennie; R. H. T. Edwards; S. Krywawych; C. T. M. Davies; D. Halliday; J. C. Waterlow; D. J. Millward
err分享
err收藏