Software Design in Python cover
welcome to this free extract from
an online version of the Manning book.
to read more
or

welcome

 

Thank you for purchasing the MEAP of my book, Software Design in Python. When I teach this course to my university students, I tell them the goal is that by the end of the semester, they’ll all be much better programmers. I want the same goal for my book; by the end of it, you’ll be a much better programmer.

You should have the same “course prerequisites” — basic knowledge of object-oriented programming in Python. The book’s examples use Python 3.12, but I tried to ensure that the design techniques can apply to earlier versions of the language or to any other modern object-oriented language. Each example program is simple to run on the command line.

How do you become a better programmer? The key is good software design. I teach design principles and design patterns. Examples of design principles include Single Responsibility, Encapsulation, Delegation, and Code to the Interface. Applying these principles will improve your code when you’re solving common programming problems that you encounter as you develop an application. Design patterns exist at a higher plane of software design, but they are based on the design principles. Design patterns, such as the Observer Pattern and the Visitor Pattern, are industry-proven solutions to common software architecture problems that you can adapt for your applications. Well-designed software does what it’s supposed to do and is flexible, reliable, maintainable, and costs less time and money.

sitemap