.. _book.oodesign: ################################################ 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. Donations ========== Want more? Want changes? Consider donating. .. raw:: html
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. .. image:: oodesign/images/Cover3x4.jpg :alt: OO Design Book Cover :target: http://buildingskills.itmaybeahack.com/book/oodesign-3.1/html/index.html .. warning:: PDF Issues The PDF production process doesn't handle some Unicode characters properly. Consequently, the PDF versions have some discrepancies. See https://github.com/rst2pdf/rst2pdf 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. .. include:: footer.inc