I love your book "Deep dive into Design Pattern".
While reading the book, i found an inconsistence of method declaration and the uses. Page 68-69. Here is the code:
Class Dialog is
Class Application is
field dialog: Dialog
method main() is
dialog.initialize() (initialize() own by Application not Dialog)
dialog.render() (should be renderWindow())
I know it's only pseudo code, but the reader feels uncomfortable.