I am a huge fan of your books, especially the headfirst series.
I have found myself in a shop that is converting from vb6 to c# and they are struggling / new to the oo world. We have a lot of repeated logic littered all throughout the place, mixed responsibilities, etc.
I'm trying to remember back to school and beyond when I went from procedural to oo, and then how I matured my oo skills, so I'm dropping tidbits here and there, but I would like a more structured / planned approach to teaching oo. I think that will keep me from jumping around too much, make sure I don't miss things, and probably teach me a few things along the way as well.
Do you have a suggestion of a semi-structured plan to follow? Technology / Syntax doesn't matter. I'm decent at c# and java and have had no problems going back and forth, and like seeing things outside of Microsoft's eyes.
I remember going through classes, and all of a sudden, the basic premise of OO just clicked. I still had a lot to learn after that as well, but I think that the majority of the people here haven't reached that point.
To give you an idea of what I'm facing, here are the areas that I know definitely need to be addressed are:
* OO Theory - Class Structure, Design Principles, reusability, etc.
* UML - this should be able to be taught while teaching the above
* Design Patterns
* layering - such as for n-Tier, MVP, etc. Most importantly though, the separation of responsibilities.
Thanks for any and all suggestions!
Help get this topic noticed by sharing it on Twitter, Facebook, or email.
I'm sure you'll hear from a few others at O'Reilly, so mine will be just one voice in response to your query.
1.) As a fan of the Head First books, have you seen *Head First Design Patterns"? (Forgive me if this should have been obvious to me and that you were looking for something *beyond* that book....). http://oreilly.com/catalog/9780596007...
2.) It sounds like your shop is not focused on Flash/Actionscript; that said, I'd still recommend your taking a look at *Essential ActionScript 3.0* by Colin Moock. It's a 900-page sumo master of a book, but the first section--19 chapters and ~500 pages--are a complete primer on OOP. Granted, the coverage is in the context of AS3, but it's still one of the absolute best primers on OOP you'll find anywhere. Colin wrote it with exactly the challenges in mind that you're facing right now.
I'm hoping there's a bookstore reasonably nearby so that you can check each book out before considering a purchase....
Hoping this helps; please let us know if either suggestion helps at all?
Best of luck,
Executive Editor, O'Reilly Media
Steve's suggestions are great. I'd also strongly urge you to pick up "Head First Object-Oriented Analysis & Design" (http://www.headfirstlabs.com/books/hf.... The title is as long as the ActionScript book Steve recommended, but it is going to cover OO Theory, UML design, and some design patterns. That taken with Head First Design Patterns (see link above) will give you a very strong OO background.
Then add to that your language specifics, and you're golden. :-)
Head First Series Editor
Brett & Steve,
Thanks for the replies. The Design Patterns book was definitely in the list, but I was thinking it would probably fall mid-cycle, maybe topic #2; I'm afraid I need to do a little more on the basics before we hit the patterns. My thinking was if I can get them started on the basics, I can introduce the patterns informally here and there until I get them up to speed on a few of the other concepts, but I want to get them to that point quickly.
I have read the OOAD book as well, but it didn't stick out as much to me, so I pulled it off the shelf this weekend and started thumbing through it, and that looks like it could be a good place to start. So it's reassuring that you think that would be a good place as well.
I do have several bookstores around so I'll check out Essential ActionScript.
Thanks for the suggestions!