<html><head> | |
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> | |
<title>Conclusion</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJTM Programming Guide"><link rel="up" href="starting.html" title="Chapter 1. Getting Started with AspectJ"><link rel="previous" href="starting-production.html" title="Production Aspects"><link rel="next" href="language.html" title="Chapter 2. The AspectJ Language"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Conclusion</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="starting-production.html">Prev</a> </td><th width="60%" align="center">Chapter 1. Getting Started with AspectJ</th><td width="20%" align="right"> <a accesskey="n" href="language.html">Next</a></td></tr></table><hr></div><div class="sect1"><a name="starting-conclusion"></a><div class="titlepage"><div><h2 class="title" style="clear: both"><a name="starting-conclusion"></a>Conclusion</h2></div></div><p> | |
AspectJ is a simple and practical aspect-oriented extension to | |
Java. With just a few new constructs, AspectJ provides support for | |
modular implementation of a range of crosscutting concerns. | |
</p><p> | |
Adoption of AspectJ into an existing Java development project can be | |
a straightforward and incremental task. One path is to begin by using | |
only development aspects, going on to using production aspects and | |
then reusable aspects after building up experience with | |
AspectJ. Adoption can follow other paths as well. For example, some | |
developers will benefit from using production aspects right | |
away. Others may be able to write clean reusable aspects almost right | |
away. | |
</p><p> | |
AspectJ enables both name-based and property based crosscutting. | |
Aspects that use name-based crosscutting tend to affect a small | |
number of other classes. But despite their small scale, they can | |
often eliminate significant complexity compared to an ordinary Java | |
implementation. Aspects that use property-based crosscutting can | |
have small or large scale. | |
</p><p> | |
Using AspectJ results in clean well-modularized implementations of | |
crosscutting concerns. When written as an AspectJ aspect the | |
structure of a crosscutting concern is explicit and easy to | |
understand. Aspects are also highly modular, making it possible to | |
develop plug-and-play implementations of crosscutting | |
functionality. | |
</p><p> | |
AspectJ provides more functionality than was covered by this short | |
introduction. The next chapter, <a href="language.html">The AspectJ Language</a>, | |
covers in detail more of the features of the AspectJ language. The | |
following chapter, <a href="examples.html">Examples</a>, then presents some | |
carefully chosen examples that show you how AspectJ might be used. We | |
recommend that you read the next two chapters carefully before | |
deciding to adopt AspectJ into a project. | |
</p></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="starting-production.html">Prev</a> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right"> <a accesskey="n" href="language.html">Next</a></td></tr><tr><td width="40%" align="left">Production Aspects </td><td width="20%" align="center"><a accesskey="u" href="starting.html">Up</a></td><td width="40%" align="right"> Chapter 2. The AspectJ Language</td></tr></table></div></body></html> |