C# 使用接口做到界面与后台操作分层

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C# 使用接口做到界面与后台操作分层相关的知识,希望对你有一定的参考价值。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace CallBackDemo
{
    public partial class Form1 : Form,ICallBack
    {
        Device dev=new Device();
        public Form1()
        {
            InitializeComponent();
            dev.Start();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            dev.Query(this);
        }

        public void Process(int i)
        {
            MessageBox.Show(i.ToString());
        }
    }

   public interface ICallBack
    {
        void Process(int i);
    }

    public class Device
    {
        public void Start()
        {
           
            Thread thread=new Thread(proc);
            thread.IsBackground = true;
            thread.Start();
        }

        private ICallBack callBack;

        public void Query(ICallBack callBack)
        {
            this.callBack = callBack;
            query = 1;
        }

        private int query = 0;
        public void proc()
        {
            while (true)
            {
                Thread.Sleep(1000);
                if (query == 1)
                {
                    if (callBack != null)
                    {
                        callBack.Process(100);
                    }
                    query = 0;
                }
            }
        }
    }
}

    换了公司,作为新人要写java的安卓代码。在处理串口的通信协议时,在解析好了串口协议内容后,数据的处理部分是要交给节目来完成的,串口线程只负责解析数据并提供数据,对这个数据怎么处理是应该交给界面来做的。比如,在协议里有一个温度数据,怎么处理数据在协议层是不知道的,怎么做呢,在建立协议层处理的时候就放一个回调函数接口在这里,也就是函数指针在这里。当协议层解析到对应数据后,根据函数指针来调用应用层的函数。

    上面的一小段代码很好的完成了以上功能,得好好体会。

以上是关于C# 使用接口做到界面与后台操作分层的主要内容,如果未能解决你的问题,请参考以下文章

C# 使用反射原理构建接口后台简单架构

C# 使用反射原理构建接口后台简单架构

C# 使用反射原理构建接口后台简单架构

C# 使用反射原理构建接口后台简单架构

使用C#分层查询多个表数据

C# 接口隐式提升类似于拆箱,使用已知的接口分层模式: