Skip to content

Conversation

@jaapio
Copy link
Member

@jaapio jaapio commented Jan 19, 2024

This library has a very large number of extension points via interfaces and abstract classes. All other classes should not be extended by users and shall theirfor be marked as final.

There are a few classes left that should also be marked as final but those require some extra attention.

@jaapio jaapio requested a review from linawolf January 19, 2024 17:00
Copy link
Contributor

@linawolf linawolf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it can save us work if all these classes are final. Thanks for taking care of it!

@wouterj
Copy link
Contributor

wouterj commented Jan 21, 2024

👍

I see you also made some DTOs final (without interfaces). If these DTOs are part of the public API (either return or parameter type), this can block legitimate extension points (e.g. you can not add new properties to such DTO from a decorator). Not sure if this applies to any of the classes in this PR, but just so you are aware of this.

@jaapio
Copy link
Member Author

jaapio commented Jan 21, 2024

Thanks @wouterj, I'm aware that this might block extensions, I think we need some extra interfaces, I will review that per case. However I think some of the helper classes will be marked as internal and should never be exposed to the world as they are part of the internals of this libraries.

This library has a very large number of extension points via
interfaces and abstract classes. All other classes should not
be extended by users and shall theirfor be marked as final.

There are a few classes left that should also be marked as final
but those require some extra attention.
@jaapio jaapio force-pushed the final-all-classes branch from 82417c7 to a7395d0 Compare January 21, 2024 19:16
@jaapio jaapio enabled auto-merge January 21, 2024 19:16
@jaapio jaapio merged commit 8b945c9 into main Jan 21, 2024
@jaapio jaapio deleted the final-all-classes branch January 21, 2024 19:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants