业务的封装,准确的说就是让业务逻辑与界面逻辑分开,让他们之间的耦合度下降。只有分离开,才可以达到容易维护或者扩展。
前面的文章中我们说到了计算器小算法的实现,今天继续对计算器的程序进行优化。想想之前的代码有多少是和控制台无关的,而只是和计算器有关。
用封装的特性将计算和显示分开。
如下是Operation运算类:
public classOperation
{
public static double GetResult(double numberA,double numberB,string operate)
{
double result = 0d;
switch(operate)
{
case "+":
result = numberA + numberB;
break;
case "-":
result = numberA - numberB;
break;
case "*":
result = numberA * numberB;
break;
case "/":
result = numberA / numberB;
break;
}
}
}
客户端代码,如下:
static void Main (string [] args)
{
try
{
Console.Write("请输入数字A:");
string strNumberA = Console.ReadLine();
Console.Write("请选择运算符号(+、-、*、/):");
string strOperate = Console.ReadLile();
Console.Write("请输入数字B:");
string strNumberB = Console.ReadLine();
string strResult = "";
strResult = Convert.ToString(Operation.GetResult(Convert.ToDouble(strNumberA),
Convert.ToDouble(strNumberB),strOperate));
Console.WriteLine("结果是:"+strResult);
Console.ReadLine();
}
catch(Exception e)
{
Console.WriteLine("您输入的有错:"+e.Message);
}
}
这样将运算类和客户端分开,就可以实现复用了,除了作为Windows程序,在Web版程序中要运用它也可以,同样PDA、手机需要运算都可以用它。
这就实现了程序的复用,在这里用到了面向对象三大特性的封装。接下来会说到其他的特性及设计模式。