专家 C#/.Net/WPF 开发人员应该知道什么?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/1099621/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
What all should an expert C#/.Net/WPF developer know?
提问by ARV
I have some 5+ years' background in C++/Unix development. I have been trying my hand at C#/.Net/WPF based software development for some time now. I am at a stage where I can write functioning applications fluently, but am not sure how to take my skills to the next level.
我有超过 5 年的 C++/Unix 开发背景。一段时间以来,我一直在尝试基于 C#/.Net/WPF 的软件开发。我正处于可以流利地编写功能性应用程序的阶段,但不确定如何将我的技能提升到一个新的水平。
So, my question(s) to you all, especially to those who are experienced in C#/.Net/WPF:
所以,我对你们所有人的问题,尤其是那些在 C#/.Net/WPF 方面有经验的人:
What are the component skills and knowledge that an expert developer on this platform should have?
What technology-specific books would you expect a would-be expert to have read?
What other deliberate steps can I take to become really good at application development using C#/.Net/WPF?
该平台上的专家开发人员应具备哪些组件技能和知识?
您希望准专家阅读哪些特定于技术的书籍?
我还可以采取哪些其他深思熟虑的步骤来真正擅长使用 C#/.Net/WPF 进行应用程序开发?
Many thanks in advance! I would be especially grateful for comprehensive answers - I'm pretty sure many other developers have similar questions.
提前谢谢了!我会特别感谢提供全面的答案 - 我很确定许多其他开发人员也有类似的问题。
回答by Kredns
Learn how the C# language and .NET runtime work by reading CLR via C#.
回答by Kredns
Scott Hanselman's article, "What Great .NET Developers Ought To Know", is a great resource on the subject.
Scott Hanselman 的文章“伟大的 .NET 开发人员应该知道什么”是有关该主题的重要资源。
回答by driis
Also have a look at this past Stackoverflow question: Questions every .NET developer should be able to answer.
还可以查看过去的 Stackoverflow 问题:每个 .NET 开发人员都应该能够回答的问题。
回答by Aaron Hoffman
For WPF specifically (and the power of WPF binding) I like M-V-VM: http://karlshifflett.wordpress.com/
特别是对于 WPF(以及 WPF 绑定的强大功能),我喜欢 MV-VM:http: //karlshifflett.wordpress.com/
回答by Chris Marisic
Make sure you learn how to use and leverage Dependency Injection / Inversion of Control in your applications. Other very important pieces of software to learn to include with your development is Microsoft Enterprise Library and Windows Communication Foundation. Those 2 tools offer an amazing amount of leverage to avoid having to recreate the wheel to solve problems.
确保您了解如何在您的应用程序中使用和利用依赖注入/控制反转。其他需要学习包含在您的开发中的非常重要的软件是 Microsoft Enterprise Library 和 Windows Communication Foundation。这两个工具提供了惊人的杠杆作用,以避免必须重新创建轮子来解决问题。
Other really good packages to become familiar with are NHibernate and Fluent NHibernate.
其他需要熟悉的非常好的软件包是 NHibernate 和 Fluent NHibernate。
Windows Workflow Foundation is a very powerful piece of software however the complexity level is high this would be another great addition to your knowledge base time permitting.
Windows Workflow Foundation 是一个非常强大的软件,但是复杂程度很高,如果时间允许,这将是对您的知识库的另一个重要补充。
回答by Anthony Brien
My team has worked in C# for the past 5 years. Typically, experienced C++ programmers take a week or two to become fully functional in C#. I've even seen some do it almost instantly, after sitting with them one morning, showing them our code, and explaning the basics of the language that differ from C++. But that's not how I recommend you do it.
我的团队在过去 5 年里一直在 C# 中工作。通常,有经验的 C++ 程序员需要一两周的时间才能完全使用 C#。我什至看到有些人几乎是在一天早上与他们坐在一起,向他们展示我们的代码并解释与 C++ 不同的语言基础知识之后立即完成了这项工作。但这不是我建议你这样做的方式。
I recommend you do this:
我建议你这样做:
Read a C# book: My pick would be Programming C#by Jesse Liberty. Important chapters are the language itself and the basics of the .NET framework libraries. The .NET Framework is huge, so you don't have to know everything in detail. You can skip through (or skim) the Windows Forms chapters. Windows Forms is so different from WPF that it won't be useful to you if you are planning on only doing WPF.
阅读 C# 书籍:我的选择是Jesse Liberty 的Programming C#。重要的章节是语言本身和 .NET 框架库的基础知识。.NET Framework 非常庞大,因此您不必详细了解所有内容。您可以跳过(或略读)Windows 窗体章节。Windows 窗体与 WPF 如此不同,如果您打算只使用 WPF,它对您没有用处。
(source: amazon.com)
(来源:amazon.com)
Read a WPF book: The best book I read so far is Windows Presentation Foundation Unleashedby Adam Nathan. WPF has a steep learning curve compared to Windows Forms, even for experienced C#/WinForms programmers. It has a lot of complex elements to understand like XAML, dependency properties, bindings, templates, animation, resources, etc. This book teaches you the basics gradually and is easy to read and understand. And it's in full color!
阅读 WPF 书籍:到目前为止,我读过的最好的书籍是Adam Nathan所著的Windows Presentation Foundation Unleashed。与 Windows 窗体相比,WPF 具有陡峭的学习曲线,即使对于有经验的 C#/WinForms 程序员也是如此。它有很多复杂的元素需要理解,如XAML、依赖属性、绑定、模板、动画、资源等。这本书逐步教你基础知识,易于阅读和理解。而且是全彩的!
Read about the Model-View-ViewModel pattern: I haven't found a good book on that yet, but it's been very important for me to make my WPF applications more simple and manageable. My favorite material to learn about MVVM is this one hour presentation by Jason Dolinger. He builds a WPF application from scratch using no particular pattern, and step by step, migrates it to the MVVM pattern.
阅读 Model-View-ViewModel 模式:我还没有找到一本关于它的好书,但是让我的 WPF 应用程序更简单和易于管理对我来说非常重要。我最喜欢了解 MVVM 的材料是Jason Dolinger 的这个一小时的演讲。他不使用特定模式从头开始构建 WPF 应用程序,并逐步将其迁移到 MVVM 模式。
回答by ihatemash
I would add unit testing, TDD, and mocking frameworks to your list of things to know.
我会将单元测试、TDD 和模拟框架添加到您要了解的内容列表中。
I have "The Art of Unit Testing"and found it helpful.
我有“单元测试的艺术”并发现它很有帮助。
回答by kenny
I really like WPF in Actionand Programming .NET Componentsis essential reading for any .NET developer.
我真的很喜欢WPF 行动和编程 .NET 组件对于任何 .NET 开发人员来说都是必不可少的读物。