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.


  • What is your specific, software design-related question? Commented Nov 23, 2016 at 3:24
  • Is there generally a different place for the grabs Address Objects vs the grabs Raw Data that becomes Address Objects I guess, since they both fulfill Controller responsibilities, but one is too generic to have typing.
    – Stephen J
    Commented Nov 23, 2016 at 3:35
  • I suspect that you're overthinking this. In any event, what you're describing generally is a data-mapping function that almost certainly will reside somewhere in the Model. Commented Nov 23, 2016 at 3:47
  • I always think of that as the data, like the address itself. Never the thing that gets the addresses from anywhere. If that's part of model that would answer my "What do you do with MVC when you need to get it?"
    – Stephen J
    Commented Nov 23, 2016 at 3:58
  • 1
    By EBC I presume you mean The Entity Control Boundary Pattern. The style of writing in this question is really hard to read. You should take care to introduce each item being discussed clearly and unambiguously. This reads like a stream of consciousness. Slow down and take us with you on this journey into software design. Then we might even understand your question. Commented Nov 23, 2016 at 4:39


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.