at4dx
at4dx copied to clipboard
Extensible Selector
Reference
- #74
Use Case
In order to properly extend a class, the extension by default should fully represent the super, before any extending changes, per Liskov's Substitution Principle - the L in SOLID.
The paramount method to override is selectInjection
, however enabling engineers to override other canonical functionality as needed is desirable, especially since virtualizing the other methods is backwards compatible and does not change functionality -- only freeing engineers to make changes if needed.
Proposed Solution
Virtualize all public or protected methods, enabling engineers to override specific methods as needed for overriding purposes.