C#流程 - 数据流、XML和数据网格

3
我正在寻求有关如何设置我正在构建的小型应用程序工作流程的建议/建议。当应用程序启动时,将通过XML文件填充数据网格。一旦应用程序运行,它将接收一个数据流,我希望更新文件和数据网格。
因此,我想知道您对如何设置工作流程的建议(即,从数据流中拆分数据并同时填充文件和网格,还是建议先填充XML文件并设置定时器使网格读取文件?)我真的在寻找最佳性能。
1个回答

2
首先,数据网格是一个UI元素,因此它的工作应该只集中在UI方面——它不应该控制您的应用程序的流程/工作流程。我认为您并没有建议您要这样做——所以我只是想确保您不会这样做:)
如何实现呢?将应用程序拆分成部分,每个部分都执行一个任务,并且执行得很好:
- 在逻辑层内,有一个组件(接口/服务)来处理数据流。如果可以,将其抽象出来,以便未来更灵活。WCF可能是一个选项(?) - 在逻辑层内“管理”数据-将其用作主要(数据)真相。 - 使用事件驱动模型使主数据源与用户和服务引发的更改保持同步。 - 有(子)组件处理特定的更新任务(文件/UI和DataGrid)。 - 最后,逻辑层还将包含一个中央位置,您可以在其中编排所有内容。
请参见下面的图像。
有一些设计模式可供使用,但根据给定的信息,我不确定哪些模式是合适的,但希望这在此期间是有帮助的。
就性能而言——您认为哪些方面存在性能问题?
  • 数据传输?
  • 向用户呈现?
  • 反映更改(如果是这样——确切地在哪些位之间)?
  • 您移动多少数据,它有多频繁地变化?
  • 基于Web还是厚客户端?

alt text http://www.freeimagehosting.net/uploads/09a5e70b03.jpg

框显示主要组件,这些组件可能包括各种类。 线显示主要信息流。

“中央控制器”主导整个过程。 “Primary Data”是它对数据的私有副本。 DataGrid(或任何其他类型的“客户端”)可以通过事件向中央控制器发送更新。 数据通过相同的事件处理程序桶传递到控制器(决定如何处理数据)。您可能希望在接口背后定义这些内容,以便根据需要交换实现。其中之一可以是本地数据提供程序,可以请求数据(而不是将其推送到控制器/事件处理程序)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接