Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Extensible Selector #75

Open
stohn777 opened this issue Mar 9, 2023 · 1 comment
Open

Extensible Selector #75

stohn777 opened this issue Mar 9, 2023 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@stohn777
Copy link
Collaborator

stohn777 commented Mar 9, 2023

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.

image

@stohn777
Copy link
Collaborator Author

Pull Request #78

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant