# ceo@xxxxxxxxx / 2006-10-12 16:29:09 -0500: > 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. Erm, I stopped doing BDUFs when I had to throw out two unimplementable designs and 2 x approx. 2000 LOC. The third attempt grew test-first, with better results. -- How many Vietnam vets does it take to screw in a light bulb? You don't know, man. You don't KNOW. Cause you weren't THERE. http://bash.org/?255991 -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php