用MVC模式重写简单的计算器

本文介绍了作者在学习MVC设计模式时,通过创建一个简单的计算器程序进行实践。计算器程序包括Model、Controller和View三个部分,分别对应模型、控制器和视图。作者修复了之前版本不支持键盘输入的问题,并提供了模型类、控制器类和视图模型的代码示例。作者承认对MVC模式理解尚浅,欢迎读者指正错误。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近在学习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>
    
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值