Tuesday, November 15, 2011

Object Design 101

An object is something. Does that sound vague?

Well, you have to start somewhere and call that somewhere something or the other. So, a base “thing” is an object by virtually unanimous opinion. Possibly by venomous onion. Or usurious union.

Anyway, objects have attributes, methods and whatever according to the mainstream programming media. There is nothing wrong with mainstream programming, except...I'll get to that someday.

Actually, objects express themselves in many ways, much like you do yourself. Objects have actions, things the object can do. Some objects do their things invisibly, in the background. A game is an object that is in your face, possibly beating your Avatar to a pulp. Your checkbook balance is a very mundane object that belongs to a checking account object. Whatever. Remember that women are not objects. Er, ah, technically...

Everything is an object much like everything is made up of atoms and all of those atoms are made up of teeny little particles with really weird names like “Bottom Quark.” There has been a lot of talk that particles are actually dinky little strings resembling hairs shred from Schrodinger's Kitty.

Theoretical physicists are completely full of themselves. And they're dorks. But they're really smart.

That everything ultimately is a paradox would not surprise a Buddhist or a gambler.

However, objects can be useful outside of theoretical worlds. A big shovel is pretty useful. I could use another shot of vodka. Ultimately, everything is an object and objects can describe themselves and take actions. Objects may own other objects. One ring to rule them all. Maybe we're all objects.

A proper object should be able to do things, or help someone do something. It should be visible or be able to make itself known if it wants to. Let's just say that you don't create an object unless you think it will somehow make your life easier. Inventing the wheel was a smooth move. There are no evil objects but evil finds a use for everything. Objects have a location in space and time. Some objects are more valuable than others.

Objects are everywhere.