add Prototype pattern and the demo of use it