Monday, August 01, 2005

Value of Design Patterns

A quick little blogging thread on the value of design patterns:

"The Design Patterns insight was that collections of classes, and especially the way they interact, are new units that deserve names so we can talk about them explicitly. Is this earth shattering? No, but it can be powerful, and not just because it gives us a shorthand in design meetings. Seeing the interaction between classes as a phenomenon deserving of terminology is an important idea for people designing software. Sure, people have been getting classes to interact for decades, how else would software work? But recognizing this level of system design, and creating a language for thinking about it, reasoning about it, and discussing it, is a big step forward."

[The Value of Patterns]

I agree.

Here's the thing, OOP and Structured programming are not all that different. And we've seen that with Visual Basic 6. Sure we get encapsulation and polymorphism but those features are available with structs and functions with out objects. What makes OOP shine is the interactions between classes (as mentioned by Ned). And that's where patterns come in. Without patterns, objects are just glorified structured programming modules.

On a different thread I think another vector of programming that really delivers bang for the buck is reflection based programming. The ability to program on top of your code. Lisp, Python, and .NET all have this ability using different approaches. I think this ability bends the boundaries of what dynamic or statically typed languages can do and yields agile pieces of code.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home