我正在学习 SOLID 原则——尤其是控制反转-DI-解耦,当我在审查我的一个代码时,我注意到这种方法(见下文)引起了我的注意。
此代码将由任何需要读取 json 文件的方法调用,接受将用于查找 json 文件的字符串值。但是正如您所看到的(我简化了代码 - 为了本主题排除了异常处理),我不确定从哪里开始(有很多初始化或依赖项??发生了,我不确定在哪里开始)。
这种方法/场景可以作为一个很好的选择开始吗?你认为我应该保留哪个?并且需要解耦?
谢谢。
public async Task<object> ReadJsonByKey(string jsonPath, string jsonKey)
{
// First - is it okay to have an initialization at this stage?
var value = new object();
// Second - is this fine to have this in the scope of this method?
using (TextReader reader = File.OpenText(jsonPath))
{
// Third - Calling Jobject that accepts new instance of JsonTextReader
var jObject = await JObject.LoadAsync(new JsonTextReader(reader));
obj = jObject.SelectToken(jsonKey);
}
return value;
}
我问这个的原因也是因为(基于标准)松散耦合的东西可以很容易地测试 - 即单元测试
[UnitTestSuite]
[TestCase1]
// Method should only be able to accept ".json" or ".txt" file
[TestCase2]
// JsonPath file is valid file system
[TestCase3]
// Method should be able to retrieve a node value based from a specific json and key
[TestCase4]
// Json-text file is not empty
函数式编程
相关分类