This page has been automatically translate with Google from the German language.

3 configuration options of software

3.2.2.2 aspect-oriented programming

Fast development cycles by frequently changing requirements require flexible software architectures. Here that sets 1997 published paradigm of aspect-oriented programming. In addition, this is to extend object-oriented programming, becomes as independent Paradigma92 of which COM, CORBA or draft sample uses, understood.
Main idea of aspect-oriented programming is complete those realization of the Separation of Concerns, which is technical separation of important aspects or parts in programming, because many functionalities in object-oriented programming distributed on various classes, CROSS Cutting Concerns so mentioned. In addition aspect-oriented programming offers methods and techniques, in order to differentiate functional components and aspects orthogonal for program semantics to lead back and these again into a total composition. The reusability of the parts is the center of attention thereby.
Aspects embody here the code fragments of functions, scattered over the classes, which affect the software system in various places. Examples for this are right examinations, persistence, synchronisation of data, object interactions and parameter transfers. They embody on the one hand the requirements and encase them at the same time as program constructor93.
They can contain attributes, Kostanten, member types and functions, or replace and call also algorithm parts later. The aspects are paged out in own classes or other language fragments. Interconnect points, so-called Join POINTs, connect them with the remainder of the program. A Weaver controls, which classes are to be addressed by which aspects and ""she weaves among themselves.
The advantage of aspect orientation is in the fact that aspects can be in-maintained to extend also after compiling in component architectures, since aspect-oriented programming helps the crucial program sections the Concerns, to recognize and again use. In addition (see illustration 5) 94 must

  1. Aspects in an object-oriented program (grey deposited) to be recognized
  2. Efficient mechanisms for arranging and expressing the aspects to be found
  3. And in the object-oriented program verwoben become


The pro and cons are here summarized:

Evaluation of the aspect-oriented Programming95
Advantages Disadvantages
  • Improves the legibility and comprehensibility of the code, since Concerns are located in the center and they encase aspects
  • Aspects promote clean programming, since through constant changes in classical object-oriented programming the clarity is lost
  • Versatile applicable beginning
  • Program extensions easily realizable
  • Improve the maintenance, care and configuration of a program, there technical changes not at various, but strike down only in a place
  • The reusability of components is improved
  • Late Design decisions are possible
  • Tasks in the software development team can be distributed along the aspects more meaningfully
  • With aufwändigen projects an overloading can affect again negatively the comprehensibility
  • The preceding analysis entails a initial additional work
  • Not all aspects can be always adequately converted
  • Since aspect-oriented programming is still developed, there are still no generally accepted composition rules for joining the components
  • Semantics is not deduced from single modules to no more
  • Tests and verifying become difficult
  • High coupling between the code and the aspects

  • Table 15: Evaluation of aspect-oriented programming


    Have a similar focus subject-oriented programming, Compostion of filter or the adaptive Programmierung96


     


    Top| Home| << back | next >>
    >> Home Page www.outsourcingintelligence.com <<