about oo design pattern in head first