Monday, August 25, 2014

How Do Modification-Free Enhancements Work?

 You can perform modification-free enhancements at predefined positions in code.
There you have anchor points or enhancement options, as they are called in the
terminology.

At these points you can insert your enhancements.  You can do this without changing the
compilation unit that you are enhancing.  The inserted implementations are processed at
the appropriate position in the compilation unit, but they are themselves not part of this unit.

They cannot, for example, belong to another package.  Let us take a look at the example of
a source code enhancement in a report in order to illustrate this better.  We are not looking
at details of coding, but the key steps.

Anchor point, at which you can plug in an enhancement.

Enhancement which is executed here but is itself not a physical part of the code it is
plugged into

You can – to a certain extent – compare this enhancement technology with a closet system
where you can insert various elements at particular positions. Instead of drilling the wood in
the side walls, you can insert various boards and other elements where the manufacturer
has already inserted hooks or holders at important positions.

There are different types of holders or attachments at various positions.  At each holder
type, you can insert exactly one type of element: boards at small dowel positions, CD
elements at wider dowel positions, and drawer elements at multiple dowels. It seems like
the elements are an integral part of the entire closet but, in fact, they are attached to the
closet parts through holders.

The different enhancement technologies correspond to these different types of elements
described above. These technologies become attached at different types of anchor points
or enhancement options of the Repository objects.

Therefore, you cannot simply insert enhancements into Repository objects at any position
you like without modifications, but only where there are so-called enhancement options in
place. At these enhancement options, you can also attach only certain elements – so-
called enhancement implementation elements.  

A concept that standardizes and structures all previous enhancement possibilities cannot
do without a certain amount of complexity. The structure it is based on, however, is
extremely simple.

.        •        On the one hand, you have hooks or, to put it correctly, enhancement options
where you can insert enhancements. There you define enhancement options, which is why
one can speak of the definition side.

.        •        On the other hand, you have enhancement implementation elements that you
can affix to these hooks or enhancement options.

The rest is simple detail: There are various types of hooks or enhancement options, and
there are also various enhancement implementation elements.  The enhancement options
are grouped together to enhancement spots and these, in turn, to even larger units.

The same applies to units on the implementation side.  Between the different units of a
side and between those of the implementation and definition side, you have assignments
of different cardinality.

No comments:

Post a Comment