References
The Fundamental Concepts of Object-Oriented Programming – Dimitrios Kalemis
Working Effectively with Legacy Code – Michael C. Feathers (2005)
Object-Oriented Design Heuristics – Arthur J. Riel
Inheritance and Reusability – R.L. Biddle; E.D. Tempero
GOF - Design Patterns: Elements of Reusable Object-Oriented Software
Object-Oriented Design Heuristics.
International Journal of Engineering Science and Technology.
Rakesh, Kumar & Deepali Gupta (2010)Code Complete: A Practical Handbook of Software Construction – Steve McConnell
Clean Code: A Handbook of Agile Software Craftsmanship – Robert C. Martin (2008)
Clean Architecture: A Craftsman's Guide to Software Structure and Design – Robert C. Martin
Agile Software Development, Principles, Patterns, and Practices – Robert C. Martin (2003)
"Reusability: The Case for Object-Oriented Design" – B. Meyer,
IEEE Software, vol. 4, no. 2, pp. 50-64, March 1987Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries – Cwalina, Abrams
Code Simplicity: The Fundamentals of Software (1st Edition) – Max Kanat-Alexander
Advanced C++ Programming Styles and Idioms – James O. Coplien (1991)
Multi-Paradigm Design for C++ – James O. Coplien (1999)
Adaptive Code: Agile Coding with Design Patterns and SOLID Principles (2nd Edition) – McLean Hall, Gary
Object-Oriented Software Engineering: A Use Case Driven Approach – Ivar Jacobson
Design Patterns Explained: A New Perspective on Object-Oriented Design (Software Patterns Series, 2nd Edition) – Alan Shalloway, James R. Trott
Refactoring: Improving the Design of Existing Code – Martin Fowler (1999)
FDG - Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries
Head First Design Patterns: A Brain-Friendly Guide (1st Edition) – Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson
Modern Software Engineering: Principles and Practices: Writing Clean, Dependable Code (2021) – Dianxiang Xu
Effective C++: Third Edition, 55 Specific Ways to Improve Your Programs and Designs – Scott Meyers (2008)
Functional Programming in C#: How to Write Better C# Code – Enrico Buonanno (2017)
Dependency Injection Principles, Practices, and Patterns – Mark Seemann (2019)
Fundamentals of Software Architecture: An Engineering Approach – Mark Richards, Neal Ford (2020)
The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition) – David Thomas, Andrew Hunt (2020)
The Object-Oriented Thought Process (Fifth Edition) – Matt Weisfeld (2019)
Grokking Simplicity: Taming Complex Software with Functional Thinking – Eric Normand (2021)
Object Design Style Guide: Powerful techniques for creating flexible, readable, and maintainable object-oriented code in any OO language, from Python to PHP by Matthias Noback (2020)