Tag Archive | "Object-Oriented Programming"

Philosophy of Object Oriented Programming and Software Design

November 1, 2008 5 comments

Now, I am no expert in OOP or software design, but here’s a philosophy which might help you make the most of what you know about OOP and software design.

Yes, I'm an OOP developer! But Design Patterns?!?

October 22, 2008 2 comments

“Well, I went pretty fine on my Object-Oriented experience. I’ve learned something about polymorphism, inheritance, encapsulation and now I really know how to extend a class! I’m ready for developing cool object-oriented applications.”

But what about the design? No, no… I don’t mean that design where you place the squares and circles in their places, draw lines, beautiful backgrounds and all those kind of stuff. I’m talking about Software Design. Design in terms of objects. Which objects to use, how and when to use, how the hierarchy would look like, which object should extend which object, when to encapsulate, when not.

It’s very common for developers to misunderstand Object-Oriented Programming with its basis concept (abstraction, inheritance, encapsulation, polymorphism, interfaces). Only because you know how to extend a class doesn’t mean that you really understand Object-Oriented Programming. It’s quite more than this.

First, let’s start with Design Patterns. Design Patterns are proven reusable solutions to solve a software design problem that other developers already faced before you. It’s not a kind of pre-cooked cake, where you just need to put in your heater for some time to get it done, but a description or template for how to solve a problem…