blob: 1aace13113ff6675c163ad7676866507a1d01ddb [file] [log] [blame]
<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>&nbsp;</td><th width="60%" align="center">Chapter 1. Getting Started with AspectJ</th><td width="20%" align="right">&nbsp;<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>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="language.html">Next</a></td></tr><tr><td width="40%" align="left">Production Aspects&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="starting.html">Up</a></td><td width="40%" align="right">&nbsp;Chapter 2. The AspectJ Language</td></tr></table></div></body></html>