You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
Reference
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.
The text was updated successfully, but these errors were encountered: