Not a book that talks about how to code, but a higher-level software organization.
Software Principles for Shared Assignment and Domain Management In my opinion, the next should have things that you should become familiar with after training. API Design is also well read, especially when you are developing software that will be used / expanded by several people.
I am not a supporter of the study of models, since it is EASIER who misuses them if the intention is not understood correctly. (Everything seems to be a nail if you have a hammer). I have nothing against templates, but I saw that it was mostly misused by junior developers, which made it difficult to maintain products.
My RWTH professor recommended:
Jacobson, I., et al (1992): Object Oriented Software Engineering
Meyer, B. (1997): Object Oriented Software, 2nd Edition, Prentice Hall, ISBN 0-136-29155-4
Although this may not be related to architecture (although I believe that you will find that most architecture template recipes are just recommendations at best and far from exhaustive), Steve McConnell really needs to read Code Complete . More important than teaching template design, he will teach you to be a better programmer so that you can make such decisions for yourself.
I really like the Fowler design templates. Deep things, some of which are hard to get through, but yum.