I'm working on a project with several people and wanted to enforce some structure to the code without having to write it somewhere and depend on each person to remember, and apply the concept.
I'm working on a framework that handles files and data, my current structure is something like this (the first row is the namespace, second the class name).
Current Structure:
My intention is to make FileManager and DataManager only available to the EngineWorker so no one outside can use them directly enforcing to use them through methods in EngineWorker. I found only 2 ways of doing so, removing the static keyword and make an instance inside EngineWorker private, or join all classes into the same Assembly in all cases and change the access from public to internal.
I was hoping there is another way, something that could let me keep the classes as static and the Assemblies as they are. Maybe because they both have the same "parent" namespace Product.FrameWork?
