Today was the last of the Hal Helms Real World Object Oriented Development class here in Sarasota, Florida. With what the little brain capacity we had left, we spent the majority of the day defining and then coding the actual domain model of our sample Coffee Shop application. To me, this is where things really get fun; this is where we really get down and dirty and start wiring CFC's together and creating mock CFCs for contract tests.
Unfortunately, we didn't have enough time to get the app up and running, but Hal tells us that he will put the finishing touches on it this weekend. Even so, I think we really started to get a good taste of all the object goodness of such an architecture. Speaking of objects, though, we did have a good discussion today about what it means to be an object and that although not all CFC's might have enough "behavior" to be considered real objects, they still add a great amount of convenience to your programming. See, when we started to learn about what "real" object oriented programming is, in an attempt to find the "right way," we dismiss all non-objects as anemic and therefore symptoms of a poor architecture. Because of this, we seek to assign behavior in places that it shouldn't be. But, when we accept that not all objects are meant to have "behavior", we can start to see that other OOP-qualities such as encapsulation, polymorphism, and cohesion can still be leveraged in a non-behavior context.
Forgive me if I am not explaining myself clearly - my mind is a bit fried :)
To bring the week to a close, the remaining attendees went out to Munchies 420 where Steve proceeded to take their Hot Wing Challenge - trying to eat 10 wings in 20 minutes. He made it through 3 wings before his eyes turned completely bloodshot and he started tearing up and his knees buckled a bit. A brave man, that Steve.
I've been following your posts this week while in Florida. It sounds like you and the other participants got a lot out of the Hal Helms class.
I thought I'd mention that maybe your "aha moment" for the object goodness and the tendency to dismiss all non-objects as anemic could also be applied to other, real life situations. Not that I think you are close minded at all. But a lot of us do fall into an elitist mind set when we excel in our fields and that is understandable if not forgivable. But if we do have elitist tendencies, we miss out on other related aspects that may be worthy in their own right.
Hope I'm not rambling and that it makes sense to you, but over the months that I've been following your blog, I think it is really cool how a lot of your programming logic seems to relate to real life outside of programming.
I just tried to look on their site for photos, but couldn't find them. It must be hosted somewhere else, like Flickr.
@Jullian,
I don't know if it's an elitist view so much as it is a lack of experience. I think as we learn about OO or anything new (ex. design patterns), we think only in terms of what fits into that box. Not because we think everything should, but because we lack the experience to know that not everything will.
I think the idea is that as we learn, we begin to get a feeling of what rules are hard and what rules can be bent.
Reader Comments
Best and worst wing challenge ever! I think I can still take the terrible goodness that was those fiery little demons. And the class was great too!
Tell Charlie I said Hello!
Hi Ben,
I've been following your posts this week while in Florida. It sounds like you and the other participants got a lot out of the Hal Helms class.
I thought I'd mention that maybe your "aha moment" for the object goodness and the tendency to dismiss all non-objects as anemic could also be applied to other, real life situations. Not that I think you are close minded at all. But a lot of us do fall into an elitist mind set when we excel in our fields and that is understandable if not forgivable. But if we do have elitist tendencies, we miss out on other related aspects that may be worthy in their own right.
Hope I'm not rambling and that it makes sense to you, but over the months that I've been following your blog, I think it is really cool how a lot of your programming logic seems to relate to real life outside of programming.
Have a safe trip back to NY.
Jillian
@Steve,
I just tried to look on their site for photos, but couldn't find them. It must be hosted somewhere else, like Flickr.
@Jullian,
I don't know if it's an elitist view so much as it is a lack of experience. I think as we learn about OO or anything new (ex. design patterns), we think only in terms of what fits into that box. Not because we think everything should, but because we lack the experience to know that not everything will.
I think the idea is that as we learn, we begin to get a feeling of what rules are hard and what rules can be bent.
Needless to say, I have a lot learn.
Hey Ben... tell David Buhler I said hello! :)
@David, @Charlie,
I think this is the perfect scenario for tinychat.com :)
@charlie griefer,
Thank you..