A. Hunt & D. Thomas. The Pragmatic Programmer. Addison-Wesley, 1999.
M. Fowler, K. Beck, J. Brant, W. Opdyke & D. Roberts. Refactoring. Improving the Design of Existing Code. Addison-Wesley, 2008.
E. Yourdon & L. Constantine. Structured Design: Fundamentals of a Discipline of Computer Program and Systems Design. Prentice Hall, 2nd edition, 1986.
B. Eckel. Thinking in Java | C++. Prentice-Hall, 4th | 2nd edition, 2006 | 2003.
E. Gamma, R. Helm, R. Johnson & J. Vlissides. Design Patterns. Elements of Reusable Object-Oriented Software. Addison-Wesley, 1995.
B. McLaughlin, G. Pollice & D. West. Head First Object-Oriented Analysis and Design. O'Reilly, 2006.
B. Meyer. Object-Oriented Software Construction. Prentice-Hall, 2nd edition, 1997.
C. Walls & R. Breidenbach. Spring in Action. Manning Publications, 2005.
T. DeMarco. Structured Analysis and System Specification. Yourdon Press, 1979.
Robert C. Martin & Micah Martin. Agile Principles, Patterns and Practices in C#, Prentice Hall, 2006.
Robert C. Martin. Clean Architecture: A Craftsman's Guide to Software Structure and Design, Prentice Hall, 2018.