我是.NET的新手,我开始找到自己的方式。我在C,VB和ASP方面有一些经验。我的问题是,基本上,框架的哪个领域最好集中精力学习?或者更好的是找到一个问题来解决并找出如何在.NET中完成它?我对桌面和网络应用感兴趣。我想在WPF,WCF,MVC和Silverlight中找到一个良好的立足点。这太雄心勃勃了吗?
谢谢
安德鲁
答案 0 :(得分:2)
所提到的所有框架都以他们自己的方式有用,但我建议你从简单的winforms和控制台应用程序开始 - 然后是类库。
一旦你开始了解框架的基础知识,WCF和MVC就是下一步。
WPF和Silverlight在实现方面完全不同(您需要了解XAML)。 MVC将教你一些WPF / Silverlight / XAML原则(代码和UI的分离),但在你做XAML之前,你真的需要牢牢抓住幕后发生的事情。
我还建议,比已经提到的任何框架更重要的是数据库访问 - 查看Linq(特别是LINQ To Entities)。几乎所有大型应用程序都需要在某个时刻或其他地方访问数据 - 并且正确实现这一点可能比框架中其他不那么常见的方面更重要。
就个人而言,我按照以下顺序教自己:
显然,我正在挑选一些亮点,还有更多的部分要填补这些裂缝 - 但是大约这个顺序让我能够理解它。
你有很多理由可以覆盖,但.Net框架设计得非常好,一旦你从COM / VB6空间开始,你会开始喜欢它
我能给你的最好建议是选择一个项目(你自己的或开源的)和修补。
答案 1 :(得分:2)
创建开源或盈利应用程序。这将使您立即进入您选择的技术堆栈的真实世界体验。此外,您可能会有更多的激情,因此学习更有趣,特别是在陡峭的学习曲线时。
我还建议,如果您打算使用C#或任何语言进行专业,那么您会对单元测试感到满意。
答案 2 :(得分:1)
想出一个你想写的项目的想法。
对项目进行编码。
随时学习。
添加新技术(WCF,WPF,ect)和迭代。
你的第一次通过将非常令人沮丧,但随着你的迭代,当你对这项技术变得更加熟悉时,事情会变得顺畅。
去吧!
答案 3 :(得分:1)
影响学习的另一个因素是工作的连续性。我知道这个是没脑子的,但由于这个因素,我的学习很多次都停滞不前。在.NET中编写项目并最终失去焦点时,我会进入使用其他语言的紧迫期限的项目。经过8小时的密集编码后,我发现很难编写代码......
答案 4 :(得分:0)
拿一本好书(C#简而言之?如果你还没有完成c#)并寻找很好的参与机会。像开源项目或创建像博客网站这样的“培训项目”之类的东西是参与其中的好方法。
当您的眼睛从显示器上流下并且提出问题时,请阅读本书!作为开发人员,我们拥有的最重要的工具是社区,利用它!
为了回答你的最后一个问题,它从未过于雄心勃勃地学习新技术......这就是我们大多数人都是开发人员的原因。从小处着手,您会发现所有这些技术之间存在很多相似之处。
希望这有帮助
答案 5 :(得分:0)
是否过于雄心勃勃或没有在这些技术中“站稳脚跟”?这完全取决于你。我可以说我有这样的立足点,而且我认为对于一般的开发人员来说,我是非常平均的。那为什么不呢?
至于从什么开始,它将取决于您以前最擅长的技术。我自己从VB.NET(我主要是VB5 / 6程序员)开始.NET,发现我更喜欢C#。试试两者,看看哪些能吸引您的喜爱。有时宗教战争更好,但这些都远远没有赢得任何一方。
我的第一次尝试是使用Windows窗体。我认为这是一个好主意,因为它帮助我以更低的成本进入框架。处理ASP.NET Web应用程序时,必须进入额外的层。但是YMMV。我的老板从几乎和我一样的启动板开始使用ASP.NET网络应用程序,他做得很好(除了他害怕winforms大声笑!)。
最后,我认为你应该从一本好的教程书开始,比如C# For Dummies,或者。如果您愿意,VB.NET for Dummies。只需按照自己的方式工作,直到开始感觉舒适,然后开始建立自己的东西。
对于工具,您可以从Microsoft免费下载Visual Studio 2010 Express。
你可能还想考虑一件事,因为它可能会变得“风靡一时”,就是立即进入Windows Phone 7编程。现在有各种各样的免费工具,教程和其他信息,如果你对此感兴趣,WP7编程将涉及C#和Silverlight编程以及XNA游戏编程。有关所有这些信息,请参阅Paul Thurrott的Windows Phone Secrets blog。
最重要的是,玩得开心! .NET Framework编程是猫的睡衣!
答案 6 :(得分:0)
找到问题并使用.Net解决。
如果你真的在做一些有用的东西,它会更有意义。它还回答了很多关于为什么事情就是这样的问题,如果你真的在写东西,而不仅仅是想要学习它。
答案 7 :(得分:0)
每次学习新平台时都可以重新构建一个简单的应用程序。
在我工作的地方,有一个时间表应用程序,不断由不同的开发人员重建。