• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    浅析.net简单工厂模式

    编程时一门技术,更是一门艺术

    简单工厂模式利用面向对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加灵活,容易修改,易于复用。

    下面是服务器计算器代码:

    复制代码 代码如下:

     using System;
     using System.Collections.Generic;
     using System.Linq;
     using System.Text;
     using System.Threading.Tasks;
     namespace DesignModel
     {
         /// summary>
         /// 计算器
         /// /summary>
         public class Calculator   //创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
         {
             private double _numberA;
             private double _numberB;
             public double NumberA
             {
                 get { return this._numberA; }
                 set { this._numberA = value; }
             }
             public double NumberB
             {
                 get { return this._numberB; }
                 set { this._numberB = value; }
             }
             public virtual double GetResult()
             {
                 double result = 0;
                 return result;
             }
         }
         /// summary>
         /// 加法
         /// /summary>
         public class Add : Calculator    //每添加一种计算方式只需添加一个计算类并重写基类方法即可
         {
             public override double GetResult()
             {
                 return  NumberA + NumberB;
             }
         }
         /// summary>
         /// 减法
         /// /summary>
         public class Sub : Calculator
         {
             public override double GetResult()
             {
                 return NumberA + NumberB;
             }
         }
         /// summary>
         /// 计算器工厂
         /// /summary>
         public class CalculatorFactory
         {
             public static Calculator GetResult(string oper)
             {
                 Calculator calcu = null;
                 switch (oper)
                 {
                     case "+":
                         calcu = new Add();
                         break;
                     case "-":
                         calcu = new Sub();
                         break;
                 }
                 return calcu;
             }
         }
     }

    复制代码 代码如下:

      static void Main(string[] args)
             {
                 Console.WriteLine("请输入数字A:");
                 string numbera = Console.ReadLine();
                 Console.WriteLine("请输入运算符:");
                 string oper = Console.ReadLine();
                 Console.WriteLine("请输入数字B:");
                 string numberb = Console.ReadLine();
                 Calculator c = CalculatorFactory.GetResult(oper);
                 c.NumberA = Convert.ToDouble(numbera);
                 c.NumberB = Convert.ToDouble(numberb);
                 Console.WriteLine(string.Format("{0}{1}{2}={3}", numbera, oper, numberb, c.GetResult()));
                 Console.ReadLine();
             }

    基本验证没加,学习练习的同学可以自己加上

    28种设计模式后续更新

    复制代码 代码如下:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    namespace DesignModel
    {
        /// summary>
        /// 计算器
        /// /summary>
        public class Calculator   //创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
        {
            private double _numberA;
            private double _numberB;
            public double NumberA
            {
                get { return this._numberA; }
                set { this._numberA = value; }
            }
            public double NumberB
            {
                get { return this._numberB; }
                set { this._numberB = value; }
            }
            public virtual double GetResult()
            {
                double result = 0;
                return result;
            }
        }
        /// summary>
        /// 加法
        /// /summary>
        public class Add : Calculator    //每添加一种计算方式只需添加一个计算类并重写基类方法即可
        {
            public override double GetResult()
            {
                return  NumberA + NumberB;
            }
        }
        /// summary>
        /// 减法
        /// /summary>
        public class Sub : Calculator
        {
            public override double GetResult()
            {
                return NumberA + NumberB;
            }
        }
        /// summary>
        /// 计算器工厂
        /// /summary>
        public class CalculatorFactory
        {
            public static Calculator GetResult(string oper)
            {
                Calculator calcu = null;
                switch (oper)
                {
                    case "+":
                        calcu = new Add();
                        break;
                    case "-":
                        calcu = new Sub();
                        break;
                }
                return calcu;
            }
        }
    }

    本文就是.net设计模式中的简单工厂模式的内容了,非常简单,下一篇,我们来谈谈策略模式

    您可能感兴趣的文章:
    • .NET简单工厂模式讲解
    • asp.net 简单工厂模式和工厂方法模式之论述
    • JS面向对象基础讲解(工厂模式、构造函数模式、原型模式、混合模式、动态原型模式)
    • Android源码学习之工厂方法模式应用及优势介绍
    • 深入c#工厂模式的详解
    • PHP 工厂模式使用方法
    • javascript 模式设计之工厂模式学习心得
    • C++设计模式之简单工厂模式实例
    • JavaScript 模式之工厂模式(Factory)应用介绍
    • .NET工厂方法模式讲解
    上一篇:完美兼容ie和firefox的asp.net网站加入收藏和设置主页
    下一篇:浅析.net策略模式
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    浅析.net简单工厂模式 浅析,.net,简单,工厂,模式,