Object Oriented Design Patterns (DPs) are recurring solutions to common problems in software design aiming to improve code reusability, maintainability and comprehensibility. Despite such advantages, the adoption of DPs causes the presence of crosscutting code increasing, significantly, the code duplication and the dependencies between systems. The main idea of this research is that code crosscutting can be reduced by the integration of Model Driven Development (MDD) techniques with Aspect Oriented Programming (AOP). According to this, an approach based on a Domain Specification Language (DSL) to to define declaratively the structure of DPs and their adoption on classes to declarative, is proposed. The approach aims to support aspects derivation to compose, at run time, AOP-based version of the specified DPs. The approach has been applied in a case study where the developed supporting framework was used in a concrete refactoring scenario, and a subsequent maintenance task. The results from the case study are presented and discussed.
Reducing static dependences exploiting a declarative design patterns framework
Bernardi M. L.;
2016-01-01
Abstract
Object Oriented Design Patterns (DPs) are recurring solutions to common problems in software design aiming to improve code reusability, maintainability and comprehensibility. Despite such advantages, the adoption of DPs causes the presence of crosscutting code increasing, significantly, the code duplication and the dependencies between systems. The main idea of this research is that code crosscutting can be reduced by the integration of Model Driven Development (MDD) techniques with Aspect Oriented Programming (AOP). According to this, an approach based on a Domain Specification Language (DSL) to to define declaratively the structure of DPs and their adoption on classes to declarative, is proposed. The approach aims to support aspects derivation to compose, at run time, AOP-based version of the specified DPs. The approach has been applied in a case study where the developed supporting framework was used in a concrete refactoring scenario, and a subsequent maintenance task. The results from the case study are presented and discussed.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.