专家C#/。Net / WPF开发人员应该知道什么?

我在C ++ / Unix开发方面有5年以上的背景。 我已经尝试了基于C#/ .Net / WPF的软件开发一段时间了。 我正处于一个可以流利地编写有用的应用程序的阶段,但我不确定如何将我的技能提升到一个新的水平。

所以,我向大家提出的问题,特别是那些有C#/。Net / WPF经验的人:

  • 该平台上的专家开发人员应具备的组件技能和知识是什么?

  • 你期望哪位技术专家可以阅读专家?

  • 我可以采取哪些其他有意识的步骤来使用C#/ .Net / WPF真正擅长应用程序开发?

提前谢谢了! 我将特别感谢全面的答案 – 我很确定许多其他开发人员也有类似的问题。

通过C#读取CLR,了解C#语言和.NET运行时的工作方式。

斯科特汉塞尔曼的文章“伟大的.NET开发者应该知道什么” ,是一个很好的资源。

我的团队过去5年一直在C#工作。 通常,有经验的C ++程序员需要一到两周的时间才能在C#中完全正常运行。 我有一天早上与他们坐在一起,向他们展示了我们的代码,并解释了与C ++不同的语言基础知识。 但这不是我建议你这样做的方式。

我建议你这样做:

阅读C#书 :我的选择是Jesse Liberty 编程C# 。 重要的章节是语言本身和.NET框架库的基础知识。 .NET Framework非常庞大,因此您无需详细了解所有内容。 您可以跳过(或浏览)Windows窗体章节。 Windows窗体与WPF有很大不同,如果您计划仅执行WPF,它对您没有用。

替代文字http://sofzh.miximages.com/c%23/0596006993.01.MZZZZZZZ.jpg

阅读WPF书籍 :迄今为止我读过的最好的书是Adam Nathan 释放的Windows Presentation Foundation 。 与Windows Forms相比,WPF具有陡峭的学习曲线,即使对于经验丰富的C#/ WinForms程序员也是如此。 它有很多复杂的元素需要理解,如XAML,依赖属性,绑定,模板,动画,资源等。本书逐步教你基础知识,易于阅读和理解。 它是全彩色的!

替代文字http://sofzh.miximages.com/c%23/0672328917.01._SCLZZZZZZZ_.jpg

阅读有关Model-View-ViewModel模式的内容 :我还没有找到一本好书,但对我来说非常重要的是让我的WPF应用程序更简单和易于管理。 我最喜欢学习MVVM的材料是Jason Dolinger的一小时演讲 。 他使用没有特定模式从头开始构建WPF应用程序,并逐步将其迁移到MVVM模式。

还要看看过去的Stackoverflow问题: 每个.NET开发人员应该能够回答的问题。

对于WPF(以及WPF绑定的强大function)我喜欢MV-VM: http : //karlshifflett.wordpress.com/

确保您了解如何在应用程序中使用和利用dependency injection/控制反转。 其他非常重要的软件包括Microsoft企业库和Windows Communication Foundation。 这两个工具提供了惊人的杠杆作用,以避免重新创建轮子来解决问题。

其他非常好的软件包是NHibernate和Fluent NHibernate。

Windows Workflow Foundation是一个非常强大的软件,但复杂程度很高,这将是您的知识库时间允许的另一个重要补充。

我会将unit testing,TDD和模拟框架添加到您要知道的事项列表中。

我有“unit testing的艺术”,并发现它很有帮助。

我非常喜欢WPF in Action和Programming .NET Components是任何.NET开发人员的必备读物。