当前位置:编程学习 > C#/ASP.NET >>

Observe 设计模式的一些问题

先上图:


这个设想是基于OBserber设计模式来的设计的,目的是想让串口或者USB 读取仪器的数据后 获取一个状态,然后讲状态 返回到界面上,比如:是否连接正常,读可多少数据等等

可如何将这些状态返回到UI接口类(DeviceComm)呢?,然后返回给主界面呢?在UI接口类(DeviceComm)里会定义一个这样的委托
 public delegate void CommState(int operateType, string value); //value :success,第几组,等等格式的数据

value参数返回的是通讯状态




--------------------编程问答-------------------- “UI接口类”

呵呵,我只能说遗憾。要注意不要以为纯论于这种书本概念而影响了你们的创意。 --------------------编程问答-------------------- 要注意不要因为沉沦于这种书本概念而影响了你们的创意。这是一个将千变万化的艺术,弄成“红卫兵的忠字舞”的模式方式,其实内涵是什么?没有百花齐放,就不会有什么规范。 --------------------编程问答-------------------- 我在DeviceComm类中定义了 一个委托,委托有个表示状态的参数,我就是希望在CommBase 类中对这个参数赋值,然后这个参数能传递到界面上,DeviceComm相当于中间层,如何实现啊。谢谢啦 --------------------编程问答-------------------- 这个这个,又是一个被设计模式害了滴

C#有事件,有绑定接口,你说该怎么办呢?

好吧,你条路子你,注意INotifyPropeyChanded接口的含义,注意BindingSouce这个控件更深层意义。

你的要求在net里其实,花不了几行代码就可以简单实现。唯一可能需要注意的就是如果是多线程滴话需要稍微使用点跨线程修改控件的手段(即使是BindingSouce直接和属性挂接绑定的控件,在多线程情况下,微软依旧不允许跨线程修改) --------------------编程问答--------------------
引用 4 楼 wanghui0380 的回复:
这个这个,又是一个被设计模式害了滴

C#有事件,有绑定接口,你说该怎么办呢?

好吧,你条路子你,注意INotifyPropeyChanded接口的含义,注意BindingSouce这个控件更深层意义。

你的要求在net里其实,花不了几行代码就可以简单实现。唯一可能需要注意的就是如果是多线程滴话需要稍微使用点跨线程修改控件的手段(即使是BindingSouce直接和属性挂接绑定的控件,在多线程情况下,微软依旧不允许跨线程修改)


我也知道呢,需要invoke的这种方式,我现在想做的是,希望能够在后台把与仪器通讯的状态传给主界面,想通过一个中间层,用事件委托的方式,可现在不知道该怎么弄,能解答的详细点不,谢啦 --------------------编程问答-------------------- 参考看我以前的一个回复

http://bbs.csdn.net/topics/390062975

其实这种方式就是现在号称的MVVM,你一直在强调的中间层就是他们口中的ViewModel,UI和ViewModel的交互是通过net自己带的事件绑定通知及Binding对象自己完成。
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,