Why object oriented programming…

Since my brain is very, very firmly entrenched in top-down, structured program design, I figured I’d do a little reading on why object oriented programming is better, or different or desirable, etc. Anyway, I came across this wikipedia article about common constructs in object oriented programming (i.e. Design Patterns.) Some of them are obvious and simple (e.g. Decorator, Singleton) and others are more obscure. Anyway, it gave me some insight about how people think about programming when using object oriented methodology.