本篇内容介绍了“.net简单工厂模式讲解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
创新互联公司是一家从事企业网站建设、做网站、网站设计、行业门户网站建设、网页设计制作的专业网站设计公司,拥有经验丰富的网站建设工程师和网页设计人员,具备各种规模与类型网站建设的实力,在网站建设领域树立了自己独特的设计风格。自公司成立以来曾独立设计制作的站点成百上千家。简单工厂模式利用面向对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加灵活,容易修改,易于复用。
下面是服务器计算器代码:
复制代码 代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DesignModel
{
///
/// 计算器
///
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;
}
}
///
/// 加法
///
public class Add : Calculator //每添加一种计算方式只需添加一个计算类并重写基类方法即可
{
public override double GetResult()
{
return NumberA + NumberB;
}
}
///
/// 减法
///
public class Sub : Calculator
{
public override double GetResult()
{
return NumberA + NumberB;
}
}
///
/// 计算器工厂
///
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
{
///
/// 计算器
///
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;
}
}
///
/// 加法
///
public class Add : Calculator //每添加一种计算方式只需添加一个计算类并重写基类方法即可
{
public override double GetResult()
{
return NumberA + NumberB;
}
}
///
/// 减法
///
public class Sub : Calculator
{
public override double GetResult()
{
return NumberA + NumberB;
}
}
///
/// 计算器工厂
///
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简单工厂模式讲解-创新互联
URL地址:http://lswzjz.com/article/iecsd.html