码迷,mamicode.com
首页 > Windows程序 > 详细

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

时间:2016-11-06 11:33:15      阅读:343      评论:0      收藏:0      [点我收藏+]

标签:通信协议   部分   ack   raw   process   ice   private   函数接口   art   

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# 使用接口做到界面与后台操作分层

标签:通信协议   部分   ack   raw   process   ice   private   函数接口   art   

原文地址:http://www.cnblogs.com/kanite/p/6034780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!