Beispiel #1
0
        /// <summary>
        /// 根据用户的输入选择折扣类型
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        public BaseDiscount GetDiscount(string input)
        {
            BaseDiscount dis = null;

            switch (input)
            {
            case "1": dis = new NoDiscount();
                break;

            case "2": dis = new DiscountRate(0.9);
                break;

            case "3": dis = new DiscountRate(0.85);
                break;

            case "4": dis = new DiscountBuyMSendN(300, 50);
                break;

            case "5": dis = new DiscountBuyMSendN(500, 100);
                break;
            }
            return(dis);
        }
Beispiel #2
0
        /// <summary>
        /// 根据用户的输入选择一个打折方式
        /// 这里使用的就是典型的--简单工厂模式
        /// </summary>
        /// <param name="input">打折方式</param>
        /// <returns>f返回一个打折父类类型,但是装的一定是一个子类类型的对象</returns>
        public DiscountFather GetDiscount(string input)
        {
            DiscountFather discountWay = null;//注意这个DiscountFather是一个抽象类,不能实例化

            switch (input)
            {
            case "1": discountWay = new DiscountNormal();
                break;

            case "2": discountWay = new DiscountRate(0.9);
                break;

            case "3": discountWay = new DiscountRate(0.85);
                break;

            case "4": discountWay = new DiscountMForN(300, 50);
                break;

            case "5": discountWay = new DiscountMForN(500, 100);
                break;
            }
            return(discountWay);
        }