Design Pattern by Ruby