Re: OOP slow -- am I an idiot?
| From: | Richard Lynch | Date: | Thu, 12 Oct 2006 21:29:09 +0000 |
| Subject: | Re: OOP slow -- am I an idiot? | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-243056@lists.php.net to get a copy of this message | ||
On Thu, October 12, 2006 1:03 pm, Ed Lazor wrote:
> On Oct 12, 2006, at 10:18 AM, Richard Lynch wrote:
>> I can't architect a good OOP solution to a problem that hasn't been
>> fully defined, any more than one can architect a house without
>> knowing
>> all the rooms that are needed...
>
> Sorry to jump into the middle of the conversation, but I thought this
> was a pretty interesting comment. It serves as one of those
> occasional reminders that I need to go back and study OOP structure
> design a bit more. I know you're right about the importance of a
> fully defined problem, but it also seems that the reverse is true if
> you're really good with OOP. In other words, it seems like any high
> quality solution starts by defining least common denominators. You
> start with basic building blocks and expand from there; I'm always
> amazed when I see space stations or other complex structures built
> out of Legos, for example. My problem is that I usually look at OOP
> and think it'll take too long, so I go the non-OOP route, solve the
> problem, and move on. I can't help but think I'm missing out. I do
> have libraries of code that I reuse, but I've always heard that I'd
> benefit a lot more from them if I OOPed them. Dunno... that's my
> two cents worth anyway hehe
Rapid prototyping in OOP, if you're willing to chuck the prototyping
if it turns out to be the "wrong" OOP model is do-able.
Even building the basic blocks first is fine -- but you've got to have
the whole structure in your mind if you expect those blocks to fit in
well.
This is probably not really specific to OOP, but I think it tends to
be more obvious with OOP when you start trying to "work around" the
short-sighted architecture. By which I only mean that in procedural
programming, the work-arounds feel less like work-arounds, at least at
first, as they are not so obviously work-arounds, and just look like
more functions.
To get back to the ORIGINAL point -- OOP is not about raw performance.
It's about maintainability, code re-use, encapsulation, etc.
You can get acceptable performance from OOP if you know what you are
doing -- If you don't, it's super easy for a beginner to write a total
performance hog following all the best practices in the world.
--
Some people have a "gift" link here.
Know what I want?
I want you to buy a CD from some starving artist.
http://cdbaby.com/browse/from/lynch
Yeah, I get a buck. So?