gpt4 book ai didi

c# - 推荐程序结构

转载 作者:行者123 更新时间:2023-11-30 18:07:23 25 4
gpt4 key购买 nike

作为初学者,我已经形成了一些想法,但想向社区询问实现以下程序的最佳方式:

它解码8种不同类型的数据文件。它们各不相同,但大多数相似(包含很多相似的字段)。此外,还有3代系统可以生成这些文件。每个都略有不同,但生成的文件类型相同。

我需要制作一个可视化应用程序,它可以读取其中任何一个,在绘制图表之前将数据绘制在表格中(目前通过数据表使用 datagridview)。

还有更多内容,但我的问题是关于基本结构。

如果合适的话,我很想了解更多关于充分利用面向对象技术的知识。

我正在使用 C#(除非有更好的建议)主要是因为我缺乏经验和快速开发时间。

我目前正在使用一个名为“日志”的类,它知道打开的文件是什么生成/日志类型。它控制读取和导出到数据表。然后表单可以给它一个路径,等待它处理文件并请求显示数据表。

有什么明显的改进吗?

最佳答案

正如您已经意识到的,在此处创建非常优雅的 OOP 应用程序具有巨大的潜力。

您的基本需求 - 根据您分享的信息我可以看出 - 是:

1) 识别文件类型的模块

2) 一个可以读取文件并将数据加载到通用结构中的模块(它会是通用结构吗??)它由处理程序组成

3) 一个可以可视化数据的模块

对于第一个,我推荐两种模式:

1a) 工厂模式:文件被传递到一个公共(public)工厂并被解析到可以决定处理程序的程度

2a) 责任链:文件被传递给每个处理程序,处理程序知道它是否可以支持该文件。如果它不能传递给下一个。最后,要么一个处理程序将其拾取,要么如果最后一个处理程序无法处理它,则会发生错误。

对于第二个,我建议设计一个通用接口(interface),并且每个处理程序都实现常见任务,例如加载、解析...如果可视化是不同的并且特定于处理程序,那么您也将拥有这些方法集。

在不了解更多数据结构的情况下,我无法对可视化部分发表评论。

希望这对您有所帮助。

更新

这是工厂代码 - 一个非常粗略的伪代码:

Factory f = new Factory();
ILogParser parser = f.GetParser(fileName); // pass the file name so that factory inspects the content and returns appropriate handler
CommonDataStructure data = parser.Parse(fileName); // parse the file and return CommonDataStructure.
Visualiser v = new Visualiser(form1); // perhaps you want to pass the refernce of your form
v.Visualise(data); // draw pretty stuff now!

关于c# - 推荐程序结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3995673/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com