Refactoring To Patterns
Joshua Kerievsky
Kerievsky lays the foundation for maximizing the use of design patterns by helping the reader view them in the context of refactorings.
software-architecture code-quality backend advanced practical deep-dive design-patterns refactoring
architecture clean code clean-code expert senior hands-on hands on internals under the hood