Last talk of the show: Arden Thomas is talking about Application Frameworks. He's been using a derivative of the old "Slam Dunk" stuff from way back in the day at PPS. Today, he's talking about that. He's also building a new rev of this for Widgetry (briefly discussed today).
Arden put the original framework to use at a Hedge Fund he worked for during the early 2000's. He adapted it over time, since his employer wanted regular, tangible results (i.e., no going "off into a cave" for months to create it). Arden sometimes discusses this stuff on his blog. The idea behind any good framework: make things simpler and easier to understand - and facilitate reuse.
Most importantly: A framework should not get in your way and put you in a box. Eventually, you'll need to go outside of the box, and that shouldn't be hard to do. The two frameworks that inspired Arden (for Wrapper):
- Tim Howard's DomainInterface (from his book)
- Steve Abell's ValueInterface (this was inspired by Roby's "SlamDunk")
The main idea: "one" domain, held in a value model. Both frameworks avoided littering ApplicationModel with instance variables (which are just copy of domain instance variables anyway). The main thing is this: it's a set of simple ideas, consistently applied. What ValueInterface did is to use the dependency mechanism to auto-hook a UI and a domain via ValueModels (typically, AspectAdaptors and/or BufferedValueHolders).
AspectAdaptors translate UI level messages into things the domain will understand (and you automate this via naming conventions). BufferedValueHolders are simply wrappers on an underlying ValueModel. All of this allows for a very simple set of messaging - sending #value and #value: gets everything done, and changes at the domain level are automatically signalled up.
Moving forward, Arden is building a Widgetry based version of this. The rest: a Demo. Both the Widgetry version and the older ValueInterface (for Wrapper) will be pushed to the public store repository by the end of next week - so check the RSS feed :)
Technorati Tags: smalltalk