Facilitating the Spread of Knowledge and Innovation in Professional Software Development



Choose your language

InfoQ Homepage AOP Content on InfoQ

  • Design Pattern Automation

    Despite the high total cost of ownership of a line of code, a lot of boilerplate code still gets written every day. Much of it could be avoided if we only had smarter compilers. Indeed, most boilerplate code stems from repetitive implementation of design patterns that are so well-understood that they could be implemented automatically if we had a way to teach it to compilers.

  • Refactoring Legacy Applications: A Case Study

    To refactor legacy code, the ideal is to have a suite of unit tests to prevent regressions. However it's not always that easy. This article describes a methodology to safely refactor legacy code.

  • Interview with Simon Cropp of Fody and Notify Property Weaver

    Last month we introduced Simon Cropp’s Notify Property Weaver. Since then we’ve had a chance to talk with Simon about IL weaving in general and his other project, the extensible AOP tool Fody.

  • Book Excerpt and Interview: Dependency Injection

    Dependency Injection by Dhanji R. Prasanna is a book that tries to explore the DI idiom in detail, and present techniques in Spring and Guice. Dhanji is a Google software engineer who works on Google Wave and also contributes to Guice, MVEL, and other open source projects.

  • Fetching strategy implementation in a J2EE application using AOP

    This article presents a fetching strategy that using AOP, optimizes the data retrieval process from a back end system on a use case basis in a modular way without bloating the lower level service or repository layers.

  • Workflow Orchestration Using Spring AOP and AspectJ

    This article demonstrates how to build and orchestrate highly configurable and extensible yet light-weight embedded process flow using Aspect Oriented Programming (AOP) techniques. The current examples are based on Spring AOP and Aspect J, however other AOP techniques could be used to accomplish the same results.

  • Domain Driven Design and Development In Practice

    In this article, Srini Penchikala discusses Domain Driven Design and Development from a practical stand-point. The article looks at architectural and design guidelines and best practices that can be used in a DDD project. It also talks about the impact of various design concerns like Persistence, Caching, Transaction Management, Security, Code Generation etc in domain model implementation effort.

  • Aspects of Domain Model Management

    Using a domain model is rarely as easy as just creating the actual domain model classes and then using them. Soon enough one discovers that sizable amounts of infrastructure code will also be required in support of the domain model. In this article, Mats Helander explains how to use Domain Model Management to handle this complexity in a simple way.

  • Dynamic Routing Using Spring framework and AOP

    Vigil Bose shows how a business transaction can trigger business events dynamically for subsystem processing. The examples shown in this article uses Spring framework 2.0 and Spring AOP effectively to decouple the business service from the subsystem processing functionality.

  • Spring 2.0: What's New and Why it Matters

    Spring co-founder Rod Johnson provides the definitive article on the motivations behind and uses of the new features in Spring 2.0. This first article covers the Spring core container, XML configuration extensions, AOP enhancements and Java 5-specific features.

  • Making AspectJ development easier with AJDT

    Aspect Oriented Programming (AOP) can be used to solve a number of today's application requirements but can also be intimidating for developers when getting started. A new article by Matt Chapman, AJDT Project Lead, shows how AOP development with the popular AspectJ library can be made easier using the Eclipse AspectJ Development Tools (AJDT) plugin.

  • Painless AOP with Groovy

    Groovy's Metaobject-Protocol provides a single point of contact for modifying the core behaviour of the Objects we create. John McClean shows how to use Groovy's MOP to perform AOP interception without proxyies or bytecode manipulation, and shows how the same is possible in Ruby and other dynamic languages.