小编bit*_*onk的帖子

重写System.Object.GetHashCode的最佳算法是什么?

在.NET GetHashCode方法中,很多地方都使用.NET 方法.特别是在快速查找集合中的项目或确定相等性时.是否有关于如何GetHashCode为我的自定义类实现覆盖的标准算法/最佳实践,因此我不会降低性能?

.net algorithm hashcode gethashcode

1389
推荐指数
14
解决办法
19万
查看次数

NUnit与MbUnit对比MSTest与xUnit.net

.NET有很多单元测试框架.我找到了这个小功能比较:http://xunit.github.io/docs/comparisons.html

现在我要为我们选择最好的一个.但是怎么样?有关系吗?哪一个是最具前瞻性的证据,背后有一个不错的动力?我应该关心这些功能吗?虽然xUnit似乎是最现代的,专为.NET设计,但NUnit似乎再次被广泛接受.MSTest再次集成到Visual Studio中......

mbunit nunit unit-testing mstest xunit.net

384
推荐指数
7
解决办法
11万
查看次数

ViewModel中的INotifyPropertyChanged与DependencyProperty

在Model-View-ViewModel体系结构WPF应用程序中实现ViewModel时,似乎有两个主要选择如何使其成为databindable.我已经看到了DependencyProperty用于View将要绑定的属性的实现,我已经看到了实现的ViewModel INotifyPropertyChanged.

我的问题是我应该何时优先选择其中一个?有任何性能差异吗?将ViewModel依赖项提供给WPF真的是个好主意吗?做出设计决定时还需要考虑什么?

architecture data-binding wpf dependency-properties mvvm

349
推荐指数
9
解决办法
7万
查看次数

Windows窗体的UI设计模式(如WPF的MVVM)

MVVM最常用于WPF,因为它非常适合它.但是Windows Forms怎么样?对于Windows Forms,是否存在已建立且常用的方法/设计模式?一个与Windows Forms明确协作的一个?有没有一本书或一篇文章能够很好地描述这一点?也许MVP或MVC基于?

design-patterns winforms

152
推荐指数
5
解决办法
8万
查看次数

如何将UI Dispatcher传递给ViewModel

我应该能够访问属于View 的Dispatcher,我需要将它传递给ViewModel.但是View应该对ViewModel一无所知,那么你如何传递它呢?引入一个接口或者不是将它传递给实例创建一个将由View编写的全局调度程序单例?您如何在MVVM应用程序和框架中解决这个问题?

编辑:请注意,因为我的ViewModel可能是在后台线程中创建的,所以我不能只Dispatcher.Current在ViewModel的构造函数中创建.

.net wpf dispatcher mvvm

69
推荐指数
6
解决办法
5万
查看次数

Reactive Framework,PLINQ,TPL和Parallel Extensions如何相互关联?

至少从.NET 4.0发布以来,微软似乎已经付出了很多努力来支持并行和异步编程,而且似乎已经出现了很多API和库.特别是最近随处可见的以下花哨的名字:

  • 反应性框架,
  • PLINQ(并行LINQ),
  • TPL(任务并行库)和
  • 并行扩展.

现在它们似乎都是微软的产品,它们似乎都针对.NET的异步或并行编程场景.但目前尚不清楚它们实际上是什么以及它们如何相互关联.实际上有些可能是同一件事.

简而言之,任何人都可以直接记录什么是什么?

parallel-extensions plinq task-parallel-library system.reactive

66
推荐指数
2
解决办法
8003
查看次数

SOLID vs. YAGNI

我听说不遵守面向对象设计中的SOLID原则的最常见论点之一是YAGNI(尽管论证者通常不称之为):

"我可以将功能X和功能Y放在同一个类中.这很简单,为什么要添加一个新类(即复杂性)."

"是的,我可以将我的所有业务逻辑直接放入GUI代码中,它更容易,更快.这将是唯一的GUI,并且不太可能出现重要的新需求."

"如果在新的要求不太可能的情况下,我的代码变得过于混乱,我仍然可以为新要求进行重构.所以你的'如果你以后需要......怎么办?'的论点不算数."

对于这种做法,你最有说服力的论点是什么?我怎么能真正证明这是一种昂贵的做法,特别是对那些没有太多软件开发经验的人来说.

oop yagni solid-principles

64
推荐指数
3
解决办法
1万
查看次数

如何在没有Visual Studio的情况下使用MSTest?

MSTest是否具有类似于nUnit的独立GUI,让我可以使用它并在没有visual studio的情况下运行测试?什么是MSTest的官方网站,我可以在那里了解更多如何使用它?

unit-testing mstest visual-studio-2010 visual-studio

48
推荐指数
5
解决办法
4万
查看次数

如何应对不良代码

作为开发人员,我在一整天的生活中遇到的最令人不快(也是最不常见的)情况之一就是我必须修复错误或在设计糟糕的代码中添加功能.现在作为一个优秀的工匠,我想让代码保持比我发现的更好的状态.如果我不重构设计,通常无法实现新功能.嗯 - 他们可以,但这会使代码更糟糕.

不幸的是,这正是我经常遇到的困难.我觉得如果有一件事情很难,那就是重构坏代码,尤其是在你有最后期限的情况下.触及或多或少工作的糟糕而复杂的代码是可怕的.因此,当我在代码中修改新功能而不修改现有代码时,我会引入更多的混乱.

现在我的问题是我如何学会应对不良代码?我怎样才能学会理解巨大的代码库,然后在不破坏已经工作且不超过截止日期的情况下重构其中的部分代码?你有没有可以推荐的文献?你有什么一般的提示吗?

refactoring

47
推荐指数
5
解决办法
5913
查看次数

为什么我的单元测试需要一个模拟框架?

最近,围绕.NET世界中所有不同的模拟框架进行了大量宣传.我还没有完全掌握它们的优点.编写我自己需要的模拟对象似乎并不难.特别是在Visual Studio的帮助下,我可以快速编写一个实现我想要模拟的接口的类(它为我自动生成几乎所有内容),然后为我的测试编写一个实现方法.完成!为什么要经历一个理解模拟框架的麻烦,其唯一目的是保存几行代码.或者是一个模拟框架,不仅仅是关于保存代码行?

unit-testing mocking

38
推荐指数
3
解决办法
1万
查看次数