随着学习的慢慢深入,我终究又回到了敲代码的路程上,踏上了这个挺让人上瘾的归程。不过我还是不希望一直敲代码的,重要的是理解知识,享受过程。
大话中第一个例子是关于计算机控制台程序的,先开始读到这里不知道计算机控制台程序是什么东东,它是不是就是计算机呢?于是带着疑问查阅了百度,百度上对控制台这样解释:控制台是存放管理工具的框架,是由控制台的项定义的,包括控制台文件夹和其它容器,网页和其它管理项,控制台带有窗口,这些窗口能提供控制台树视图和由控制台树中项引发的管理属性、服务及事件的视图。哦,原来控制台是用来控制的平台,所有管理东西都集中在它这里,所以计算机控制台就是一个用来控制计算的平台。理解了这个定义是用来干嘛的,所以例子就跟着敲吧。
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//Operation运算类
public class Operation
{
private double _numberA=0;
private double _numberB=0;
public double NumberA
{
get {return _numberA;}
set {-numberA=value;}
}
public double NumberB
{
get {return _numberB;}
set {_numberB=value;}
}
public virtual double GetResult()
{
double result=0;
return result;
}
}</span></span></span>
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//加减乘除类
class OPerationAdd:Operation
{
public override double GetResult()
{
double result=0;
result=NumberA+NumberB;
return result;
}
}
class OPerationSub:Operation
{
public override double GetResult()
{
double result=0;
result=NumberA-NumberB;
return result;
}
}
class OPerationMul:Operation
{
public override double GetResult()
{
double result=0;
result=NumberA*NumberB;
return result;
}
}
class OPerationDiv:Operation
{
public override double GetResult()
{
double result=0;
if(NumberB=0)
throw new Exception("除数不能为0.")
result=NumberA/NumberB;
return result;
}
}
</span></span></span>
看第一章讲的简单工厂模式:
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//简单运算工厂类
public class OperationFactory
{
public static OPeration createOperate(string operate)
{
Operation oper=null;
switch(operate)
{
case "+":
oper=new OperationAdd();
break;
case "-":
oper=new OperationSub();
break;
case "*":
oper=new OperationMul();
break;
case "/":
oper=new OperationDiv();
break;
}
return oper;
}
}</span></span></span>
客户端代码主要用来给对象赋值,然后根据步骤进行计算。
<span style="font-size:18px;"><span style="font-family:KaiTi_GB2312;font-size:18px;"><span style="font-size:18px;">//客户端代码
Operation oper;
oper=OperationFactory.createOperate("+");
oper.NumberA=1;
oper.NumberB=2;
double result=oper.GetResult();</span></span></span>
此处客户端代码说是第一个数是1,第二个数是2,然后运算“+”,计算结果展示为3.
这是我整体上对简单工厂模式的理解,肯定有很多不足,希望阅读者提出,我加以改正和提高。