Tell me more ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

We all know the design patterns books, but patterns are reusable elements, not full fledged designs. I would like to see real-case designs, presented with a commentary. At the moment, I can appreciate the (IMHO) very pleasant design of Qt, for example, but I don't have Qt designers commenting on each design choice and strategy. Are there good books commenting designs?

share|improve this question
2  
The "Gang of Four" design patterns book has real-case designs, presented with a commentary. The Java Blueprints web site has real-case designs, presented with a commentary. What's wrong with these? What more are you looking for? Please explain how they don't meet your expectations. – S.Lott May 12 '11 at 10:46
2  
I don't know anything about the java blueprints, since I don't use Java. the GoF presents patterns out of a design which is, as a whole, opaque. It does not present the whole design of the system. It zooms in to show particular elements. What it does is equivalent of showing pictures of windows of buildings to appreciate different arcs techniques, but it does not show and discuss the building as a whole. @S.Lott – Stefano Borini May 12 '11 at 11:04
@Stafano Borini: Can you update the question to explain what you're looking for more fully? If Java is unacceptable, please list languages which are acceptable. – S.Lott May 12 '11 at 12:06
1  
@S.Lott : language is not an issue here, I'm talking about design. Any language is fine. I just said that since I don't use Java, I never read the java blueprints, as it's not a source of knowledge I have under my belt. I already made clear what I am looking for: books that detail and comment high level design practices on real case, accessible code, not elements of design (that is, design patterns) – Stefano Borini May 12 '11 at 12:20
@Stafano Borini: "I already made clear what I am looking for". Sadly, this was not true for me. Please update the question to make it clear even to Java programmers who don't know you well enough to know what languages you know, what languages you don't know, what you've read and what you haven't read. I'd like to help, but I can't easily parse the question. Please clarify what you're looking for by extending, expanding and updating the question. – S.Lott May 12 '11 at 12:26

4 Answers

up vote 1 down vote accepted

Have a look at Beautiful Code http://oreilly.com/catalog/9780596510046, and others in the series like Beautiful Architecture & Beautiful Data. I haven't read myself, but is on my list.

share|improve this answer

Consider Code Review SE

While it's not exactly what you're looking for right now, it may offer some guidance into alternative ways of implementing the desired behaviour with justifications in the answers. In general it tends to address questions of the type "Is this a good way to [insert programming objective]?".

If you wanted to target a higher level of abstraction, you might be able to get a design review question through.

share|improve this answer
+1, with the caveat that we only accept working code there. We will cover design, but not if the only thing shown is an ERD or class diagram. – Michael K May 13 '11 at 13:32

Perhaps this book is what you're looking for:

Holub on Patterns

Most programmers learn by looking at computer programs. This book teaches you design patterns in exactly this way: by looking at computer programs and analyzing them in terms of the patterns that they use. Consequently, you learn how the patterns actually occur in the real world, and how to apply the patterns to solve real problems. This book also looks at the broader context of OO (Object-Oriented) design and how the patterns solve commonplace OO design problems. It covers many of the principles of OO design - principles not covered by most books on Java - and shows you how to apply these principles to make your code easier to maintain and debug.

The existing books on design patterns take a "catalog" approach, where they show the individual design patterns in isolation. This approach is fundamentally flawed because you can’t see how the design patterns actually function in the real world. The patterns in real programs interact in complex ways, working in concert to solve many problems simultaneously. By seeing the patterns actually applied in a realistic way, you can really understand how to use them in your own code.

share|improve this answer
This one seems like a good one, although again it focuses on design patterns, not on high level design. Thanks – Stefano Borini May 12 '11 at 13:31

If you want commentary on the C++ language and library designs, hunt around and find a copy of The Annotated C++ Reference Manual (Ellis & Stroustrup). It's an older version of the C++ standard annotated with a lot of 'how it got that way'. It's actually how I learned C++, because for me understanding the way he intended objects to be made was key to understanding what was really going on.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.