Architecting Applications for the Enterprise by Dino Esposito & Andrea Saltarello
If you’re an .NET developer looking to get a better understanding of software architecture you’re in luck. This book offers a superb hands-on introduction to all the aspects of application architecture you’ll need. You’ll get an introduction to software architecture as a discipline as well as an overview of UML and a review of commonly accepted industry design principles. From there Dino and Andrea dive right into the heart of application architecture – designing your data, business, service, and presentation layers.
There’s a TON of guidance on the options available for each of your layers and when to choose which. The greatest strength of this book - it's all proven out in a real world working example that you can download and try out. I can’t underscore how important this book is to the working developer. I applaud this book for it’s greatness and curse Dino and Andrea for writing the book I wanted to write. Highly recommended!
Check out my Architect Bookshelf compilation for more recommendations for software architects.