gpt4 book ai didi

c# - 可测试性与过度设计?

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

<分区>

这是一位同事实际提出的情况,引起了我的兴趣:

public DoSomething()
{
//Do Stuff
var assembly = Assembly.LoadFrom("Path");
//Do More Stuff
}

所以,为了模拟这个,你有两个选择

创建一个内部虚拟方法:

internal virtual IAssembly LoadAssembly(String path){...Load Here...}

或者,添加一个可以传入的新类

public class AssemblyLoader
{
public virtual IAssembly LoadAssembly(String path){...Load here...}
}

这两个选项似乎都有问题,因为第一个似乎应该是私有(private)方法,第二个似乎是为简单静态调用创建包装器的过度设计?

所以,我想我会把它带到社区。我正在寻找最实用的方法,同时保持单元可测试性。

这类似于 this SO question ,但是我真的想更深入地研究它。

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