Inheritance: Guidance on setting up to utilize inheritance [LSA Data Excellence]
What guidance is there on setting up to utilize Inheritance?
What are the considerations for choosing one design over the other?
Start with the application needs and map out a class model just as you would for any application - Pega or not.
Where your class model dictates that a class needs to inherit from multiple superclasses, refine this such that any class inherits from no more than 2 classes. From there, settle on one which uses Pattern-inheritance and the other needs to use Direct-inheritance. Pattern-inheritance is the default first inheritance path taken, so should be the "more obvious" parent class.
A Car, for example may inherit from both Vehicle and Asset. In the event that a rule is sought via inheritance that exists in both Vehicle and Asset, consider which ones should "win", and make that the Pattern-inheritance superclass. For the most part, "collisions" like this are unlikely.
Directed inheritance is most usually found when a reusable foundation - implemented by a Component, Strategic Application or Industry layer, which mandates a different class - needs to be inherited by a Class you introduce to your application.
Pattern inheritance more typically implements specialization of types within a layer, like the Car and House specializations of Collateral in the webinar.