I've been wanting to blog this since Wednesday...boy have I been busy.
I was sitting in CS 582 on Wednesday morning when Dr. Budd set into his lecture on Object-Oriented Design. What he said got my attention: in order to understand the importance of object-oriented programming, one must program within a large software system. Now, it's not news to me that object oriented programming helps manage complexity, but what really got my attention was that Dr. Budd proceeded to explain why!
Personally, I have strugged with the complexity of large-scale software, and I have looked around for helpful design approaches. Dr. Budd said that from the beginning of a project, object-oriented programming allows one to design based on behavior. One doesn't need to define any data structures or finalize a specification before making design progress. Before one writes anything down, one can already be thinking about how the software behaves--this is a natural approach for how we as people think. This really makes sense to me.
Starting from behavior, one can evolve the design to be as detailed or and general as one would like it to be. But the key to managing the complexity is that one doesn't need to be detailed from the beginning and one can become more detailed as appropriate.
Read the slides, or read the book. I'm sure I'll be posting more on this in the future.
Posted by enigma at January 16, 2004 06:01 PM