Building Skills in Object-Oriented Design

How do you move from OO programming to OO design? Do a lot of design focused on building a sophisticated application program. This 285-page book has 46 chapters that will help you build OO design skills through the creation of a moderately complex family of application programs. This is a step-by-step guide to OO design and implementation.

The text has been completely reworked to clarify most of the exercises. A few sections were greatly simplified, based on reader feedback.

The code examples are focused on Python 3.

The content can be easily adapted to Python 2.

It can also be adapted to any other object-oriented programming language, including Java, C++, Ruby, etc.


Want more? Want changes? Consider donating.

Building Skills in Object-Oriented Design

Version 3.1 HTML – HTML pages. Revised and focused on Python programming issues. Numerous chapters have been clarified and reorganized.

Version 3.1 PDF – A PDF file of more than 280 pages.

Version 3.1 MOBI – A Kindle eBook.

OO Design Book Cover


PDF Issues

The PDF production process doesn’t handle some Unicode characters properly. Consequently, the PDF versions have some discrepancies.

See for the preferred solution, Sadly, it isn’t availble in Python3 yet.

Previous Edition

Python Version

Version 2.2 Python HTML – the Python edition broken down into parts and chapters, with search.

Version 2.2 Python PDF – the Python edition in a single PDF file.

Version 2.2 Python MOBI – The Python edition as a Kindle book.

Java Version

Version 2.2 Java HTML – the Java edition broken down into parts and chapters, with search.

Version 2.2 Java PDF – the Java edition in a single PDF file.

Comments – Changes – Additional Information

Join the Google Group: Building Skills Books. Share questions, comments, suggestions and code snippets.

About the Author

Steven F. Lott is a consultant, teacher, author and software developer with over 30 years of experience building software of every kind, from specialized control systems for military hardware to large data warehouses.


About the License

These works are made available under a Creative Commons Attribution-Noncommercial-No Derivative Works License. You are free to copy, distribute, display, and perform the work under the following conditions:

  • Attribution.
    You must give the original author, Steven F. Lott, credit. Please contact me via s_lott at yahoo dot com for permission.
  • Noncommercial.
    You may not use this work for commercial purposes. Contact the author to make arrangements to use this book for commercial purposes.
  • No Derivative Works.
    You may not alter, transform, or build upon this work.

For any reuse or distribution, you must make clear to others the license terms of the work you are reusing or distributing.