trollll wrote:
I rather like
phpPatterns(), but not necessarily a good starting place. Library = good idea! And if they don't have a book, make them get one for you! They will... Just got a book in today on design patterns I can't wait to start...
PHP Patterns is a good place, but something to realize is that patterns have nothing to do with OOP proper. The patterns are just easier to conceptualize and implement via the use of objects.
So,....
1) You have OOP, which is programming that surrounds the use of objects.
2) The there is OOD, which stands for Object Oriented Design, which is a design approach based on the use of objects proper or otherwise.
3) RDD (Responsibility Driven Design). Based on the idea that any program of reasonable size and up can be broken down into areas of responsibility.
4) Functional programming, which is something that I'm not about to even begin to start talking about as I don't have a good enough understanding. So from this point forward, we'll consider it dropped.
So with 2 and 3 above, we have methodologies that are centered around design. The most important thing to realize with these two methodologies is that on the conceptual level, the actual use of objects is not required.
That may sound strange, but it's true. The reason I mention it is becuase while we can learn the mechanics of OOP in one language or another, we are not yet adept at creating practical solutions with it. OOP by itself doesn't teach good design. It just provides some tools with which good design is more easily realized. That is a very important distinction to make.
I'll reword that. OOP is a programming paradigm. OOD and RDD are design methodologies. Patterns, I would have to say, sit at a level above OOD and RDD.
So let's not blur that line. Doing so is like the concept of making the language simpler in the book 1984. Yeah sure, it may make some sense on the surface as there are fewer words to understand, but it ultimately has a negative effect on the ability of the populace to convey subtleties.
Cheers,
BDKR