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

Plugin Merging Discussion #43

Open
grofit opened this issue Jun 6, 2024 · 1 comment
Open

Plugin Merging Discussion #43

grofit opened this issue Jun 6, 2024 · 1 comment

Comments

@grofit
Copy link
Member

grofit commented Jun 6, 2024

A discussion on the discord server covered the topic of merging certain Plugins back into the core library as the code footprint is minimal and in most use cases these Plugins would be used anyway.

Currently the Plugins that were identified as candidates for this would be:

  • ReactiveSystems
  • Computeds
  • BatchSystems
  • Grouping

The reasoning for merging them is to reduce nuget package bloat, and make the core more feature rich.

The downside to doing this is that you would need to manually unregister the conventional system handlers and other infrastructure should you not want the overhead for these systems.

The impact seems minimal for most and the system handlers would only add overhead on systems being added which is mainly an upfront cost.

I will leave this open incase anyone has any other comments related to this, outside of the discord.

@grofit
Copy link
Member Author

grofit commented Jun 15, 2024

The ReactiveSystems and Computeds have been merged in as these were originally part of the library anyway and have little friction and low code overhead, this was done as part of #45.

The Batching and Grouping plugins have quite a lot of code overhead for their functionality which imo would add too much noise to the core library so for the moment I am keeping those as their own plugins for people to include if they need it.

It is worth mentioning again that you can just make your own implementations of anything in the library and modify the DI logic to load your version of instead of the libraries built in stuff which should allow you to replace almost anything in the library at runtime without any issue as long as it adheres to the interfaces required.

@grofit grofit self-assigned this Jun 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant