I've worked on various systems, all well-coded and well organized, but even still, what "gets the data" and "saves" it were never really defined. So I hunted the past month for architectures that "solved" that problem.
What I found was EBC, in particular it had a Controller object that went from raw entity and then passed it into the model. A nice "slot" I could shove into a folder that says "controllers" rather than have a NetworkUtility here and maybe a subclass or another class to translate the JSON into an object. Instead, just one thing under "NameOfDataController" and it handles everything.
What is puzzling me now is a standard way to handle the inner workings. For example, in iOS you have the raw data archives. It is a generic NSDictionary/PList that goes into and out of a file. Settings is an abstraction to guarantee you always call the right key/value pair of a "thing". Then on top of Settings you'll have the Controller "AddressController grabAllAddresses" which then calls settings "getStoredAddresses" then it calls the DataStore class which reads the raw text file with a @"Key_Address" expecting maybe a raw array of hash/dictionaries back. Settings may not be needed in this example, as "AddressController" could probably handle that too. But either way, you have "DataStore" which "Stores"/Retrieves generic value, but doesn't belong to any "controller" type.
Yet it is still the interface to a system. I'm curious if that's just considered a controller or if I make another folder for like "SystemControllers" which stores "Data Controller, time controller" anything else that interfaces with the system but still isn't turned into a data type/entity just yet. Heck, I may even consider it a Serializer assuming it's getting stuff that doesn't move (eg, data instead of changing functions, time/RSA key generation or something).
Of course, whatever's cleanest, and best for the project overrides anything. Just curious what is used most often. I could be overthinking this.
But after years of MVC and MVVM and realizing 5 helper classes just isn't clean/right, I wanted to expand my knowledge.