public void TestCase1()
        {
            AbstractOrInterfaceOfPrototypeProduct prototypeProduct1 = new ConcretePrototypeProductA();
            AbstractOrInterfaceOfPrototypeProduct prototypeProduct2 = new ConcretePrototypeProductB();

            ProductPrototypeManager manager = new ProductPrototypeManager();

            manager.Register("PrototypeProduct1", prototypeProduct1);
            manager.Register("PrototypeProduct2", prototypeProduct2);

            AbstractOrInterfaceOfPrototypeProduct clonedProduct1 = manager.Retrieve("PrototypeProduct1").Clone();

            if (manager.IsRegisterd("PrototypeProduct2"))
            {
                AbstractOrInterfaceOfPrototypeProduct clonedProduct2 = manager.Retrieve("PrototypeProduct2").Clone();
            }
        }
 public void Register(string name,
     AbstractOrInterfaceOfPrototypeProduct prototypeProduct)
 {
     _registry[name] = prototypeProduct;
 }
 public void Register(string name,
                      AbstractOrInterfaceOfPrototypeProduct prototypeProduct)
 {
     _registry[name] = prototypeProduct;
 }