最近在学习MVC程序设计模式 用一个简单的计算器程序来套用该模式 下图给出程序的设计界面及程序解决方案目录结构:
添加三个解决方案文件夹分别命名为 Model 、Control 及View
即:MVC设计模式的三个层次,模型、控制器及视图
本次修正了 之前的计算器 不支持键盘输入的缺陷
在模型类里面我只建立了四个简单的加、减、乘、除 模型
Model类代码如下:
public class Model
{
///<summary>
///加法
///<param name="d1">被加数</param>
///<param name="d2">加数</param>
///</summary>
public decimal Add(decimal d1,decimal d2)
{
decimal x = d1 + d2;
return x;
}
///<summary>
///減法
///<param name="d1">被减数</param>
///<param name="d2">减数</param>
///</summary>
public decimal SUB(decimal d1, decimal d2)
{
decimal x = d1 - d2;
return x;
}
///<summary>
///乘法
///<param name="d1">被乘数</param>
///<param name="d2">乘数</param>
///</summary>
public decimal MUL(decimal d1, decimal d2)
{
decimal x = d1 * d2;
return x;
}
///<summary>
///除法
///<param name="d1">被除数</param>
///<param name="d2">除数</param>
///</summary>
public decimal Modulo(decimal d1, decimal d2)
{
decimal x = d1 / d2;
return x;
}
}
控制器中 利用模型实现了加减乘除的运算及控制视图的计算结果显示,在控制器里面几乎都是流程控制语句
Control类代码如下:
public class Control
{
Model m = new Model();
/// <summary>
/// 被运算数
/// </summary>
public static decimal d1 = 0;
/// <summary>
/// 运算数
/// </summary>
public static decimal d2 = 0;
/// <summary>
/// 运算结果
/// </summary>
public static decimal result = 0;
/// <summary>
/// 运算符
/// </summary>
public static string str = "";//运算符
/// <summary>
/// 表达式
/// </summary>
public static string CASE = "0";//表达式
/// <summary>
/// 显示表达式
/// </summary>
public static string FCASE = "0";//显示表达式
/// <summary>
/// 判断输入的字符是否为“.”
/// </summary>
bool dot = false;//判断输入的字符是否是点
///
/// 计算初始
///
bool init = true;//初始化计算
///<summary>
///加减乘除运算
///<param name="str">运算符</param>
///<param name="d1">被运算数</param>