Once read a book about patterns , I faced with this one , the implementation of this pattern was the same as in this code , but something is gonna wrong with it, I require to help me correct this.