This book is simply a MUST HAVE for .Net software architect. Newer than its equivalent of Martin Fowler is also in my opinion much better. However, this is not a beginner's book. If used for this purpose must be complete with another since here there is not a single line of code.