繁体   English   中英

在程序执行期间,如何告诉不同的类保存到同一文件夹?

[英]How to tell different classes to save to the same folder during execution of a program?

我有一个程序,其中典型的用例是创建一个会话,并在此会话期间执行一些顺序的数值计算,其中每个计算的结果均作为参数传递给后续的计算。

要求每个中间数值结果必须保存到磁盘,以实现以下情况:

  1. 在会话开始时,将创建一个新的唯一命名的文件夹。
  2. 每个计算都按不同的类依次运行,并且在每个计算结束时,会将具有中间结果的文件保存在该文件夹中;
  3. 在会话结束时(和程序关闭之后),可以选择从文件系统访问该文件夹,并且所有文件都位于该文件系统中。

我的疑问是:

“如何告诉每个班级应该将其保存在哪里?”。

从结构上来说,我们可以在类中使用IO代码,但是使用包含路径的“全局”值,而不是将构造函数中的路径传递给每个类,以及使用另一个更明智的解决方案却令人困惑我。

将路径传递到每个类的构造函数的过程就是所谓的依赖注入,通常被认为是最好的处理方式,至少在简单的层次上。 理想的解决方案是将文件编写器接口的实例注入每个类,这样您就可以使用模拟编写器测试每个类。 但是,实现起来比较复杂。 无论哪种方式,都在使用依赖项注入。

通过使用全局值,可以将代码的所有部分耦合到该值。 应该避免这种耦合,因为它会导致易碎的代码,这些代码在进行更改时很容易中断。 原因是,在大型系统中,可能很难确定对全局项目的所有依赖关系,从而难以理解更改全局项目的后果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM