一名专业的C#/.Net/WPF开发者需要掌握哪些技能?

29

我有超过5年的C++/Unix开发背景。我已经尝试过一段时间的C#/.Net/WPF软件开发。现在我可以流畅地编写可运行的应用程序,但不确定如何将我的技能提升到下一个级别。

因此,我的问题是:对于那些在C#/.Net/WPF上有经验的人,以下是我的问题:

  • 在这个平台上,专业开发人员应该具备哪些组成技能和知识?

  • 您期望候选人阅读哪些技术特定的书籍?

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

提前致谢!我会特别感激全面的答案,我相信许多其他开发人员也有类似的问题。

8个回答

14

阅读CLR via C#,了解C#语言和.NET运行时的工作原理。


11

11

我的团队过去5年一直在使用C#。通常,有经验的C++程序员需要一两个星期才能完全掌握C#。我甚至见过一些人几乎可以瞬间学会它,在早上和他们一起坐着,展示我们的代码,并解释与C++不同的语言基础知识后马上就能掌握。

但是我不建议你这样做。我建议你这样做:

读一本C#书:我的选择是Jesse Liberty所著的《Programming C#》。重要章节是语言本身和.NET框架库的基础知识。.NET框架非常庞大,因此您不必详细了解所有内容。您可以跳过(或略读)Windows Forms章节。如果您只打算使用WPF,则Windows Forms与之非常不同,将对您没有用处。

alt text
(来源:amazon.com)

读一本WPF书:我读过的最好的书是Adam Nathan所著的《Windows Presentation Foundation Unleashed》。与经验丰富的C# / WinForms程序员相比,WPF具有更 steap的学习曲线。它有很多复杂的元素需要理解,例如XAML、依赖属性、绑定、模板、动画、资源等。这本书逐步教授您基础知识,易于阅读和理解。而且是全彩印刷!

alt text

了解模型-视图-视图模型模式(MVVM):我还没有找到一本好的书来介绍,但是对于让我的WPF应用程序更加简单和易于管理,MVVM非常重要。我最喜欢学习MVVM的资料是Jason Dolinger的这个一个小时的演示。他从头开始构建一个WPF应用程序,不使用任何特定的模式,然后逐步将其迁移到MVVM模式。


Jason Dolinger的链接已经失效了,您是指这个链接吗:https://www.youtube.com/watch?v=BRxnZahCPFQ? - Ravid Goldenberg

4

2

2
确保您学会如何在应用程序中使用和利用依赖注入/控制反转。其他非常重要的需要学习的软件包括微软企业库和Windows通信基础架构。这两个工具提供了惊人的杠杆作用,避免了为解决问题重新发明轮子。
其他非常好的软件包包括NHibernate和Fluent NHibernate。
Windows工作流基础是非常强大的软件,然而复杂程度很高,如果时间允许,这也是一个非常好的增加您知识储备的选择。

1

我建议你把单元测试、TDD和模拟框架加入到你需要了解的事项列表中。

我阅读过"《单元测试的艺术》",觉得它很有帮助。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接