Aspect-oriented programming

Aspect-oriented programming
复制标题

DOI:
10.1007/bfb0053381
复制
发表时间:
1997-01-01
期刊:
ECOOP'97: OBJECT-ORIENTED PROGRAMMING
影响因子:
--
通讯作者:
Irwin, J
Irwin, J
中科院分区:
其他
文献类型:
--
作者:
Kiczales, G;Lamping, J;Irwin, J

文献摘要

被引文献

相似文献

我们已经发现了许多编程问题,对于这些问题,过程性编程技术和面向对象编程技术都不足以清楚地捕获程序必须实现的一些重要设计决策。这迫使这些设计决策的实现分散在代码中,导致开发和维护非常困难的“纠结”代码。我们分析了为什么在实际代码中很难清楚地捕获某些设计决策。我们将这些决策处理的属性称为方面,并表明它们很难捕获的原因是它们横切了系统的基本功能。我们给出了一种称为面向方面编程的新编程技术的基础,它使得清晰地表达涉及这些方面的程序成为可能,包括方面代码的适当隔离、组合和重用。讨论植根于我们使用面向方面编程构建的系统。
We have found many programming problems for which neither procedural nor object-oriented programming techniques are sufficient to clearly capture some of the important design decisions the program must implement. This forces the implementation of those design decisions to be scattered throughout the code, resulting in "tangled" code that is excessively difficult to develop and maintain. We present an analysis of why certain design decisions have been so difficult to clearly capture in actual code. We call the properties these decisions address aspects, and show that the reason they have been hard to capture is that they cross-cut the system's basic functionality. We present the basis for a new programming technique, called aspect-oriented programming, that makes it possible to clearly express programs involving such aspects, including appropriate isolation, composition and reuse of the aspect code. The discussion is rooted in systems we have built using aspect-oriented programming.