Using Design Patterns as Indicators of Refactoring Opportunities (to Aspects)
نویسنده
چکیده
In this position paper, we argue that traditional object-oriented design patterns can be regarded as workarounds for limitations in current programming languages, including crosscutting concerns. Aspect-oriented programming (AOP) is able to modularise crosscutting concerns and overcomes many of the limitations. To illustrate, we mention a few examples. We describe several situations in which patterns are used to cope with the presence of crosscutting concerns. Such solutions are inferior to solutions make possible by AOP and on this basis we hypothesize that patterns can provide clues to improve existing systems by refactoring to aspects. We briefly outline an approach to derive a deeper understanding of how patterns can be used as indicators of refactoring opportunities.
منابع مشابه
Towards an Investigation of Opportunities for Refactoring to Design Patterns
Refactoring is a well-known process to improve the maintainability of object-oriented software. Recently, it is said that refactoring to design patterns can improve design quality of maintaining software. However, there are a few case studies of refactoring to design patterns. This position paper shows our approach to investigate opportunities for refactoring to design patterns in software syst...
متن کاملClassification of Scattered Code in Object-Oriented Applications
Aspect-oriented programming strives to encapsulate crosscutting concerns into modular units called aspects. Aspect Mining techniques aim to search for aspect candidates in existing software systems. These techniques associate all occurrences of scattered code in existing applications with the absence of aspects. In this paper, we demonstrate that in a poorly designed object-oriented system, sca...
متن کاملAssessing the Quality of Refactoring Patterns for Introducing Design Patterns
Refactoring is a well-known process to improve the code design of object-oriented programs. Recently, several literatures focus on refactoring with introducing design patterns that are general repeated solutions to common problems in software design. For making it easy to perform such refactoring, a lot of refactoring patterns are proposed. Each refactoring pattern includes a description of ref...
متن کاملOn the Detection of High-Impact Refactoring Opportunities in Programs
We present a novel approach to detect refactoring opportunities by measuring the participation of references between types in instances of patterns representing design flaws. This technique is validated using an experiment where we analyse a set of 95 opensource Java programs for instances of four patterns representing modularisation problems. It turns out that our algorithm can detect high imp...
متن کاملAutomated refactoring to the Strategy design pattern
Context: The automated identification of code fragments characterized by common design flaws (or ‘‘code smells’’) that can be handled through refactoring, fosters refactoring activities, especially in large code bases where multiple developers are engaged without a detailed view on the whole system. Automated refactoring to design patterns enables significant contributions to design quality eve...
متن کامل