model-view-controller skeleton controllers models views bringing it all together parting shots exercises publish-subscribe pattern distributed message sender parting shots exercises appendix adesign pattern quick reference quick checks for the code singleton prototype factory builder adapter decorator facade proxy chain of responsibility alternative command composite interpreter iterator alternative