views:

224

answers:

8

Hi guys,

I'm looking for a good read on object oriented design. The two books I'm currently looking Head First Design Patterns and Head First Object object-oriented analysis & design. They seem very similar when looking at the contents and browsing through available sample text. Which one would be the best choice?

About myself: I have a bachelor in computer science and I am currently studying Msc. Software Quality Engineering (read Software Engineering with focus on Quality). I am already confident in object-oriented design and have a lot of programming courses in my backpack. I have done games in c++, courses in advanced java programming (I am SCJP certified), but my preferred language is C#. I have also worked with Java for the last 7 months while studying. I am currently also studying for certificates in C# (apart from my usual studies). So I believe I have the prerequisites of actually understanding the contents of both books.

Reason: I just want to be better and keep evolving as a programmer. I think it is fun. I believe Bert Bates and Kathy Sierra are involved in both these books and I have previously read their SCJP preparation book in java. I really do enjoy their style of writing.

Other books which I am considering are: Clean Code: A Handbook Of Agile Software Craftsmanship

Thx in advance

Sebastian

A: 

Bertrand Meyer's Object-Oriented Software Construction. It uses Eiffel, but that's a non-issue.

polygenelubricants
An awful, 1200 page doorstop. I wouldn't give this to anyone as their first intro to objects.
duffymo
+1. That's what I used, successfully. Today, however, a more convenient alternative might be his newer book Touch of Class: http://touch.ethz.ch/
Daniel Daranas
+5  A: 

I have read Head First Design Patterns after obtaining my Master degree in Computer science and I found the book a little bit to basic. The book is ideal for occasional programmers, but not for somebody who has already obtained software certificates.

My recommendation: "Design Patterns: Elements of Reusable Object-Oriented Software"

MuSTaNG
+1 Head First is a great book for beginners, probably the best out there on the market but for an experienced programmer I would also suggest the GoF book.
Helper Method
The GoF book? "Design Patterns: Elements of Reusable Object-Oriented Software" was released in 1995, is this something to have in mind? I mean it has happened a lot in the industry during those fifteen years!! I have found a value pack which boosts this book and two other related books:http://www.adlibris.com/se/product.aspx?isbn=1405837306Would this be a good buy?
Nothing has happened in the patterns space since the GoF book came out. It was the high point for patterns; it's been downhill since. By all means read it, but don't expect that patterns have moved much further since.
duffymo
The GoF book is still very relevant. If you look to the patterns used in Java or in the .Net framework you will recognize a lot of the patterns of the GoF. So this book is definitely recommended
MuSTaNG
+4  A: 

Thoroughly recommend the Clean Code book. Very clear writing, and some very practical ideas. You will be writing better, cleaner and more professional code as a result.

Paul McKenzie
That is exactly what I want. Thank you!
Clean Code *is* a great book, but it's not really a book about Object-Oriented Design per se... there are some sections that touch on it, but his first book "Agile Software Development: Principles, Patterns and Practices" is the book that is really more focused on Object-Oriented Design.
Nate
A: 

Meilir Page-Jones : Fundamentals of Object-Oriented Design in UML

Manuel Bitto
A: 

Just like most others here, I wish to recommend another book that I had read a few years back. it seemed to help me understand OO Design Patterns pretty well.

Addison Wesley - Design Patterns Explained - A New Perspective on Object Oriented Design

Yaneeve
+1  A: 

I'd recommend Brooch's Objected oriented analysis and Design. It is a good book on object oriented design methodology. Martin Fowler's signature series are well known for enterprise development, but in my opinion they are describe oo-design process quite well. As an aside, learning Smalltalk would be fun. Not only do many smalltalk books describe design process in detail, but many design patterns/rules of thumb also. I'd recommend Smalltalk, Objects, and Design by Liu.

Books :

  1. Brooch's Objected oriented analysis and Design
  2. Some excellent oo books in the Listmania
  3. Smalltalk objects and Design
sushant
A: 

Hi,

I just want to thank you guys for some incredible tips. I have actually gone to the library at my university and loaned a couple of your recommendations. The following are the books which I decided to give a shot:

Refactoring: improving the design of existing code

The pragmatic programmer

"Design Patterns: Elements of Reusable Object-Oriented Software"

Looked kind of heavy and boring, maybe I will give it a go after having read through the other two books plus "clean code".

Thanks again!

Sebastian

A: 

Just an update on the matter, as of now I have read the following:

  • Refactoring - Improving the design of existing code (very good)
  • Test driven development by example (also quite good, I like the concept to write test and production code at the same time)

I am currently reading:

  • Clean code (the best one of them as of yet, since it has knowledge you wont gain from university courses nor programming on your own)

And after that one is finished I will carry on with:

  • Implementation patterns (also a Kent Beck book)

After that one, I will carry on with one of the following:

  • Pragmatic programmer
  • Design Patterns: Elements of Reusable Object-Oriented Software
  • Agile Software Development: Principles, Patterns and Practices

I have found myself very interested in coding elegantly, so if anyone has suggestions on what books to read on the matter - I am all ears. =)