about this book
This book is about writing well-designed software that’s reliable, flexible, and maintainable. It covers requirements elicitation and analysis, design principles, and design patterns. There are many examples of poorly designed code and how applying the principles and incorporating the patterns improves the code. The goal of this book is simple: to make you a better programmer.
Who should read this book?
Python is now one of the most popular programming languages. Its programmers develop medium to large-scale applications in various domains, especially AI and data analytics. This book is for you if you want to become a top-tier Python programmer who can create well-designed applications that meet their requirements and that are more reliable, flexible, and maintainable. Well-designed applications are more bug-free, and they can cost less to produce and perform better at run time. We’ll tackle the enemies of good software design: change and complexity. You’ll be proud of the applications that you design and develop.
You will get the most out of this book if you are at least a beginning or intermediate Python programmer and understand the basics of object-oriented programming.
How this book is organized: A roadmap
The book has 16 chapters organized into five parts.
Part 1, “Introduction,” introduces software design and a development methodology: