<<Head First Design Patterns>> study, example implement by C++/Linux.