views:

203

answers:

4

I am trying to compile a good library [within a company] on software design and architecture. I have looked at few posts on Stack Overflow, assuming this sort of question is very popular, however the best I found was Best books to learn about design, and it talks about graphic design, which is NOT particularly helpful to me.

We are developing a large scale system in C++ (both on unix and windows). We also create API for users in C++, C#, and Java.

Below is the list of books I found particularly helpful:

What do you guys think about these?

What would you suggest?

Thanks

+3  A: 

I would recommend these two Enterprise Application Architecture and Domain Driven Design. This isn't a really technical book but definitely worth reading if your in the field The Mythical Man Month.

zodeus
I heard about these two... They are good, will add to the list
+1  A: 

I think it is a good list and would add

  • The pragmatic programmer (dry-principle, etc.)
  • Software Security (McGraw)
Gambrinus
looks great. Many people overlook the significance of security in a software.. good add
+2  A: 

Additional to your list:
- Refactoring: Improving the Design of Existing Code
- Design Pattern-Oriented Software Architecture
- Software Architecture in Practice
- Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development (Creig Larman)

Also books of H.Sutter, A. Alexandrescu, M. Josuttis will teach you good c++ codding style.

bb
A: 

I would also add "Effective C++" by Scotty Myers to the list.

Adrian Grigore
Effective series is good, though it doesn't really address a large scale design, but gives good techniques on how to solve problems "effectively". However, Advance Effective C++ gives design patterns as well...
Can't comment on Advance Effective C++ since I have not read it. You are right, Effective C++ is much more about coding style and small-scale design. But I also think that it is a very useful foundation for applying higher scale design patterns.
Adrian Grigore