|
浅析 |
|
|
浅析.net简单工厂模式
这篇文章主要介绍了浅析.net简单工厂模式,需要的朋友可以参考下
编程时一门技术,更是一门艺术
简单工厂模式利用面向对象方式通过继承、封装、多态把程序的耦合度降低,设计模式使得程序更加灵活,容易修改,易于复用。
下面是服务器计算器代码:
复制代码代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespaceDesignModel
{
///
///计算器
///
publicclassCalculator//创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
{
privatedouble_numberA;
privatedouble_numberB;
publicdoubleNumberA
{
get{returnthis._numberA;}
set{this._numberA=value;}
}
publicdoubleNumberB
{
get{returnthis._numberB;}
set{this._numberB=value;}
}
publicvirtualdoubleGetResult()
{
doubleresult=0;
returnresult;
}
}
///
///加法
///
publicclassAdd:Calculator//每添加一种计算方式只需添加一个计算类并重写基类方法即可
{
publicoverridedoubleGetResult()
{
returnNumberA+NumberB;
}
}
///
///减法
///
publicclassSub:Calculator
{
publicoverridewww.visa158.comdoubleGetResult()
{
returnNumberA+NumberB;
}
}
///
///计算器工厂
///
publicclassCalculatorFactory
{
publicstaticCalculatorGetResult(stringoper)
{
Calculatorcalcu=null;
switch(oper)
{
case"+":
calcu=newAdd();
break;
case"-":
calcu=newSub();
break;
}
returncalcu;
}
}
}
复制代码代码如下:
staticvoidMain(string[]args)
{
Console.WriteLine("请输入数字A:");
stringnumbera=Console.ReadLine();
Console.WriteLine("请输入运算符:");
stringoper=Console.ReadLine();
Console.WriteLine("请输入数字B:");
stringnumberb=Console.ReadLine();
Calculatorc=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种设计模式后续更新
复制代码代码如下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
namespaceDesignModel
{
///
///计算器
///
publicclassCalculator//创建一个计算器的基类可以接受两个参数,任何算法只需重写计算结果方法即可。
{
privatedouble_numberA;
privatedouble_numberB;
publicdoubleNumberA
{
get{returnthis._numberA;}
set{this._numberA=value;}
}
publicdoubleNumberB
{
get{returnthis._numberB;}
set{this._numberB=value;}
}
publicvirtualdoubleGetResult()
{
doubleresult=0;
returnresult;
}
}
///
///加法
///
publicclasswww.hunanwang.netAdd:Calculator//每添加一种计算方式只需添加一个计算类并重写基类方法即可
{
publicoverridedoubleGetResult()
{
returnNumberA+NumberB;
}
}
///
///减法
///
publicclassSub:Calculator
{
publicoverridedoubleGetResult()
{
returnNumberA+NumberB;
}
}
///
///计算器工厂
///
publicclassCalculatorFactory
{
publicstaticCalculatorGetResult(stringoper)
{
Calculatorcalcu=null;
switch(oper)
{
case"+":
calcu=newAdd();
break;
case"-":
calcu=newSub();
break;
}
returncalcu;
}
}
}
本文就是.net设计模式中的简单工厂模式的内容了,非常简单,下一篇,我们来谈谈策略模式
|
|
|
|
|
|
|
|
|
|
|