. A subclass can override the accessors de?¬?ned by the superclass, to retrieve data
from elsewhere or manipulate the values returned.
. A subclass can override other methods de?¬?ned by the superclass, to change its
behavior.
This can all of course be carried out on a number of levels:
. An abstract class in the platform or component framework can be subclassed by
generated code.
. An abstract class in the platform or component framework can be subclassed in
the domain framework to provide the commonalities required by generated
applications. The result could be a concrete subclass that is instantiated and
used by generated code, or then itself an abstract class to be further subclassed
by generated code.
. If parts of the model reuse other parts of the model, this may correspond to
generating subclasses of generated subclasses.
As can be seen, this allows a vast array of different approaches and tactics, allowing
you to produce applications in almost any way you want. This is of course good news
for you the reader: you can generate full code without it becoming bulky (move
common parts to the framework) or ugly (replace hacks with a good architecture in the
domain framework). It is however bad news for us as authors: with such a broad vista
of possibilities, it is hard to cover the ground or give concrete advice.
Pages:
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604