I chose this session with very low expectations. After all, I had been using business objects pretty religiously for quite a while and consider myself adept at their usage. I get really annoyed when I encounter an app whose business logic is embedded in the U/I, but I try to make my clients understand that taking some time to separate those will save time (and money) in the long run.
So it was very refreshing when Tamar didn’t pull out the tired old Northwind database and start wrapping the orders table in a business object. Instead she created a Soduku game in VFP from the ground up, starting with the cell object and building up to the entire game object, all before building a U/I. When she was done building the “engine” of the Soduku game, she mentioned she now could go any number of ways for wrapping a U/I around it, including the possibility for building a text-based version of the game. (She may have been joking, but I think there are possibilities here for blind people who want to play Soduku!)
She then showed how her graphical U/I (sorry, Stevie Wonder, you’ll have to wait) interacts with those business objects. Of specific note was the way she used BINDEVENT in the game object to keep elements of the game well encapsulated, rather than relying on Valid() methods.
Usually Tamar’s sessions cover ways to make your life as a VFP developer more productive, such as VFP UI enhancements. This session was different, and really exceeded my expectations.