tags:

views:

150

answers:

3

I have looked at a couple of books and all I have looked at were just discussing the technicalities of OOP. By technicalities I mean, here's a concept, here's some code, now get working. I have yet to see a book that discusses the architectural process, what are the ways of doing this, why doing this is bad, how to actually incorporate design patterns in a real-world project, etc.

Can you recommend a good resource or book? I am mainly programming with PHP but a language-agnostic book/resource would do :)

A: 

I've had The Object-Oriented Thought Process on my wishlist for a few months, but I haven't got my hands on it yet. The reviews and snippets I've seen are positive, though. You'd need to supplement it with language-specific details from the PHP reference on Classes and Objects, but I think most of the fundamentals should translate well enough, provided you can port the examples.

Edit: Oops. If you're looking for something more advanced, I've also got these two on my list:

banzaimonkey
read it but have not yet finished it. 5 chapters of code examples in Java. however, concepts were discussed separately, meaning here's how an interface works, here's the code. The good thing about the book is it's more about realizing how the concept actually works, not how the code works. Nonetheless, good book :)
Ygam
Beat me to it! Reading it now and liking it.
GreenMatt
-1, recommending books you haven't even read!
rjh
@rjh I've done my due diligence and the disclaimer is clear.
banzaimonkey
+2  A: 

I like Craig Larman's Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (3rd Edition). Most PHP programmers would do well to learn habits like design patterns and GRASP.

You could also "keep it in the family" and read the free online book Building Skills in Object-Oriented Design by Stack Overflow top-ten scorer Steven Lott.

Bill Karwin
A: 

If you are really interested into architecture, not just basic design of small pieces, look at the Patternoriented software architecture series. Domain driven design might be also a good books for you.

Gabriel Ščerbák