public static IProductPack GetProductPack(string SkuId) { IProductPack prodPack = null; switch (SkuId) { case "A": prodPack = new AProdPromotion(); break; case "B": prodPack = new BProdPromotion(); break; case "C": prodPack = new CProductPack(); break; case "D": prodPack = new DProductPack(); break; } return(prodPack); }
public CartService() { // Loosly coupled product modules/classes as here is no "new" keyword to create module/class object. APromoPack = ProductFactory.GetProductPack("A"); BPromoPack = ProductFactory.GetProductPack("B"); CPack = ProductFactory.GetProductPack("C"); DPack = ProductFactory.GetProductPack("D"); }