要遵循哪种设计模式?

时间:2017-02-06 18:10:44

标签: design-patterns

我需要创建一个应用程序来读取CSV,进行大量操作并最终将数据加载到某个目标Oracle云应用程序中。

  1. 会有各种源应用程序。在main方法中,我们将提供源应用程序名称,并根据源应用程序名称,它将读取该特定源应用程序的属性文件并加载所有值,如源文件夹名称,源文件名等。有20多个源应用程序,因此20多个属性文件。我应该遵循哪种设计模式来实现这一点?

  2. 调用一系列操作来处理文件并上传到目标文件,例如文件读取,文件验证检查,文件操作,文件上传,文件上传状态检查等。哪种设计模式最好实现这种功能?

2 个答案:

答案 0 :(得分:1)

对于您的第一个用例,听起来根本不需要设计模式。它似乎是一个采用文件名参数的方法,然后打开该文件并读取其内容,可能返回已解析值的结构。不需要过于复杂化。

对于您的第二个用例,听起来像责任链是合适的。 https://en.wikipedia.org/wiki/Chain-of-responsibility_pattern维基百科可能不是理解它的最佳资源,所以我建议你做一些研究,看看它是否符合你的需求。

最后一点,请记住,设计模式是达到目的的手段,而不是自己的终结。设计模式很好地映射到您手头的问题并不总是如此,所以不要让想象中的那个盒子。

答案 1 :(得分:0)

对于第一个场景

  

模式应该有用,

#include <iostream>
#include <string>

using namespace std;


string& funRef (string& s) {
string t = s;


return t;
}

int main() {
string s1 = "I'm a string!";
string& s2 = funRef(s1);
s2 = "YOUR STRING IS MINE";

cout << s1 << endl;
cout << s2 << endl;
}

对于第二种情况,

您可以使用

  

责任链

模式为Erik提到

相关问题