2004ANU Open Research (Australian National University)Open access

Efficient Implementation of Design Patterns in Java Programs

Alonso Márquez

Open full text 0 citations

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.

Open-access reader

About this research paper

What this paper is about

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.

Why it matters

A significance statement is not available in the OpenAlex record.

Key contribution

A contribution statement is not available in the OpenAlex record.

Method / approach

Method details are not available in the OpenAlex metadata.

Main findings

Findings are not separately available in the OpenAlex metadata.

Limitations

Limitations are not available in the OpenAlex metadata.

Applications

Application details are not available in the OpenAlex metadata.

Available 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.

Key concepts: Computer science, Programming language, Software design pattern, Java, Semantics (computer science), Class (philosophy), Implementation, Theoretical computer science

Related papers

Back to paper searchBrowse research topicsOriginal source
Efficient Implementation of Design Patterns in Java Programs — Research Paper | ScholarLens