我正在调查依赖注入。我发现:大多数引用的依赖注入使用示例,我们也可以使用工厂模式来解决。
您能帮我比较 DI 和工厂模式之间的优缺点吗?我应该始终选择依赖注入而不是工厂模式吗?还是取决于指定的项目?
我怎么知道什么是最好的解决方案?对此的最佳实践是什么?
我正在创建一个自定义排序整数列表。我尝试了两者:使用比较和自定义 IComparer:
比较:
public int ComparisonMethod(int x, int y)
{
//just for testing
return 1;// just for test
}
List.Sort((x, y) => ComparisonMethod(x,y));
Run Code Online (Sandbox Code Playgroud)
与客户 IComparer:
public class Comparer : IComparer<int>
{
public int Compare(int x, int y)
{
//just for testing
return 1;// just for test
}
}
var comparer = new Comparer();
List.Sort(comparer);
Run Code Online (Sandbox Code Playgroud)
自定义比较器和比较器都有相同的逻辑代码,但让我惊讶的是,比较排序的性能比比较器要好。为什么比较的性能更好?还是我错了?
看待!