I've been studying software architecture throughout my career. I highly recommend these books. I reference them to solve tough problems or when I sense something is not quite right with existing code.
Clean Architecture: A Craftsman's Guide to Software Structure and Design Design Patterns: Elements of Reusable Object-Oriented Software Patterns of Enterprise Application Architecture Refactoring: Improving the Design of Existing Code AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis