This book accompanies the advanced object-oriented design mooc that is freely available at https://advanced-design-mooc.pharo.org
It is a collection of design exercises at different levels of guidance and difficulties.
- The first part starts presenting the basics and can be skipped if you know object-oriented basics.
- The second part proposes several little projects to exercise double dispatch, command and visitor patterns.
- The third part proposes some unguided extensions to the previous projects.
- The fourth part presents some games.
<!inputFile|path=Chapters/DSL/DSL.md!> <!inputFile|path=Chapters/PaperStoneScissor/PaperStoneScissor.md!>
<!inputFile|path=Chapters/DSLDoubleDispatch/DSLDoubleDispatch.md!> <!inputFile|path=Chapters/Robots/robots.md!> <!inputFile|path=Chapters/Compass/compass.md!>
<!inputFile|path=Chapters/Expression/Expression.md!> <!inputFile|path=Chapters/Visitor/Visitor.md!>
In this part we propose multiple extensions to the previous mini projects. It is fun to challenge ourselves to see how we could support the proposed variations.
%<!inputFile|path=Chapters/SimpleLan/Simple-LAN-Responsibility.md!> <!inputFile|path=Chapters/Unguided/Unguided.md!>
In this part, we propose you design some simple board games using the Bloc graphical framework taking as an example the games of the Myg project.
<!inputFile|path=Chapters/Games/Games.md!>