Say you are writing an app like Photoshop where you have effects (filters), etc, should one make each of these filters a separate assembly using a separate project?
The main idea is to have each of these filters as nodes, so think of it like:
sourceImage -> Sharpen -> Darken -> Contrast -> Blur ...
It seems to me that it would make sense to have dll files like:
[Filters folder]
Sharpen.dll
Darken.dll
Contrast.dll
Blur.dll
But it would be hard to manage them like that, and that would prevent me to use the internal
keyword for class members, right?
So right now I only have 1 dll for all filters.
What's the best practices for organizing assemblies?
I wouldn't restrict yourself to one filter per assembly. You may well want to group assemblies which implement similar functionality - e.g. colour/contrast together, while keeping them separate from very different kinds of filters (e.g. edge enhancing).
Just one bit of anecdotal evidence: I've often seen applications be difficult to manage due to having too many assemblies. I can't remember ever seeing one which had problems because it hadn't split the assemblies up enough. I'm not saying it can't happen - just that I haven't seen it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With