Efficient Implementation of Design Patterns in Java Programs

Loading...
Thumbnail Image

Date

Authors

Marquez, Alonso

Journal Title

Journal ISSN

Volume Title

Publisher

Abstract

Designing and implementing generic software components using design patterns like proxy and facade [Gamma et al. 1994] is commonly advocated in most application areas. Design patterns and genericity are language design techniques created to provide better semantic abstractions boundaries. However, most programming language implementations have give very little support to techniques that remove these abstraction boundaries to the extent necessary to permit efficient execution. We present a general technique for optimization of Java programs that use any sort of data and/or behavior delegation. We define a group of basic program transformations that preserve the program semantics. They provide a foundation for more complex program transformations such as class inlining and class proxying with a broad range of applications in program optimization and semantic extension. We present several real applications including Orthogonal Persistence and automatic optimization of design patterns implemented using these techniques.

Description

Citation

Source

Book Title

Entity type

Access Statement

License Rights

DOI

Restricted until

Downloads