> Also, I'm sorry I misspelled your name in my last message. I've been working > with a guy named "Gregg" and now I'm forever confused.
Happens all the time. ;-) > Anyway, back to business. So you say "load-n-store" is what works best for > an app that loads data then saves it. No disagreement there. But that's far > from the entire spectrum of GUI applications. Many do not fit that mold. I > think the "load/store" paradigm maps more closely to simple database or > service driven form-based apps where data is not shared among multiple user > interface components. >From personal experience, I can say that the model also maps well to more >complex scenarios. I'm not saying it's a one-size-fits-all solution, but it >does work. > One of the goals of MVC was to create an independent model which could be > presented through multiple concurrent views...But, and this is a big *but*, > what if elements and properties of the data model can be changed through one > or more of the tables? ... > Eh. You see where I'm going. "Load-n-store" is going to fall apart here. > Bi-directional event-driven binding between model and view (maybe through a > controller or whatnot) will save the day. That's where an MVC framework comes in. > Interestingly, I see you *are* using event-driven data binding for list-based > mutations. But if you change a property of an element of a list, the list > does not dispatch an event. The view remains ignorant. This is also true of Flex, as I recall. You need to notify the list that the data has changed. > Where I'm coming from (data binding in Flex), doing this stuff with custom > event listeners/dispatchers is a real chore. Yeah, it can be done, but it's > a *lot* of work writing all that boilerplate. One of the features we added for Pivot 1.5 is a pub/sub event model that is meant to help facilitate application level messaging. You may find it useful. I'd also recommend looking into some of the client-side MVC frameworks. I haven't done much work with them myself, but I suspect that they may provide some of what you are looking for. On the other hand, if you can't find something that fits the bill, why not create something yourself and submit it as a contribution to the platform? ;-)
