配色: 字号:
浅析
2016-10-24 | 阅:  转:  |  分享 
  
浅析.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设计模式中的简单工厂模式的内容了,非常简单,下一篇,我们来谈谈策略模式





















献花(0)
+1
(本文系白狐一梦首藏)