我应该在我的C#程序或reader方法中使用Main方法来创建我的列表吗?

时间:2017-06-06 18:31:11

标签: c# visual-studio main

我正在开发一个项目,它将从Excel工作表中读取数据,将每一行放入一个名为“Sale”的类中,然后在将来操作该列表。我应该将销售添加到我用于阅读excel文档的类中的列表中,标题为“Reader”,还是应该在Main类和方法中创建列表。我目前有我的主要方法创建一个Reader的实例。然后,此阅读器通过修改器传递行或“销售”,修改器将对它们进行排序。然后,打印机类将列表作为参数,并将其打印到不同文档上的同一工作簿中。

在我的计划中,做一个或另一个会有什么重大影响吗?如果是这样,为什么以及在效率和组织方面哪个更好。

2 个答案:

答案 0 :(得分:1)

我同意@Deolus提到Sales是自己的类。

SalesReader分开,因为它们有不同的用途。如果创建Reader类只是为了从excel表中读取数据,那么这应该是它唯一的目标。在Sales类中,您可以创建其他方法来操作将来的销售列表。

在我的计划中做一个或另一个会有什么显着差异吗?

在运行程序时的速度方面,这没有什么区别,但就可维护性而言,这是 GOLD

这是separation of concerns的完美示例。您保持代码组织得更好,而不是破坏意大利面条代码,在将来维护此代码时,您将更有效率。因此,显着差异将是您必须维护&在未来维持这一点。

我希望这会有所帮助。

答案 1 :(得分:1)

这是一个棘手的问题,因为您没有定义您使用的后续操作/类。 如果您将有另一个类来处理该数据,那么从内存中擦除读者类的实例可能会更好。 但是,将列表保留在主类中可能也很糟糕,重要的是要知道您是通过值传递还是通过引用传递。让你的读者类传递值,让你的主类保存这些值并将它们传递给你的工作类可能不利于cpu(因为这需要更多的步骤)和内存,因为你创建副本 - 也许你不需要数据通过后你的主要课程。

关于效率的重要性还在于硬盘空间(尽管没有人关心这一点,但就小型应用而言,它并不重要) - 减少代码占用较少的硬盘通常会更加强烈地占用内存和/或或cpu。

你的问题通常是含糊不清地明确说出哪些更有效,但你还必须注意,代码优化是为了增强现有代码,而不是首先构建代码本身。