Just got done with "The art of unit testing". It was a great read and i think everyone should go buy a copy. With that said i think the next book I'm like to read would be a architecture / Design type book that would focus heavily on building your objects / software in such a way that it would be:
- Low Coupling
- High Cohesion
- Easily Maintainable / Extended
- Easy to test
- Easy to Navigate / Debug
The above characteristcs are the most important ones but also maybe it would also include (but not necessary) designing for:
- Performance - Don't want to design a system at at the end find out its dog slow :)
- Scalability - Again don't want to design something at the end find out it won't scale.
I'd also prefer (but not necessary again):
- Something newer - Architectural principles seem to gradually evolve / improve over time and id like something with current thinking.
- .Net as illustrating language - like i said above its not mandatory but since its what i use every day id prefer it to be in .net. Doesn't really matter if its in vb.net or c#
Some of the topics that would be talked about its how to minimize dependencies and using interfaces throughout your solution rather than concrete classes. Maybe it would constract /compare some of the newest design principles like DDD, Repository Pattern, Ect...
I already have "Clean Code" (don't know if its this type of book or not) and "Working effectively with legacy code" on my radar but id like to read a book based upon the topic i talked about above first. Is there such a book?
Edit:
Would "Patterns of Enterprise Application Architecture" fit my needs above?