每个.NET人员应该知道哪些主要实践和设计模式?[关闭]


16

在作为专业程序员的短暂时间内,我看到了许多由程序员编写的应用程序,他们的整个学历似乎都在阅读.NET 2.0书中的前几章。

当我开始的时候,我写了大部分的应用程序!

对编写AWESOME .NET应用程序至关重要的最大设计模式是什么?

太棒了,我的意思是在里面!


没有什么是至关重要的。
kirk.burleson,2011年

Answers:


22

第一:充分了解您的基本工具

  1. 了解ASP.Net事件模型。如果不这样做,您将一团糟。

  2. 了解力学 OO的。相当数量的相对经验丰富的.Net程序员似乎仍然认为是1972年。

  3. 开始阅读代码完成。

第二:学会区分关注点

我在ASP.Net开发中看到的最常见的设计犯罪是将所有业务逻辑塞在了背后的代码中。我知道所有Microsoft示例都采用这种方式。我知道在小型应用程序中这是合理的。而且我知道有时会那样做。但实际上,这是一个糟糕的设计,是我本周的宠物讨厌对象。

第三:了解有关设计的所有其他信息

我看到的大多数质量很差的.Net代码都是OO设计不良的结果。因此,建议您对以下内容有一个很好的了解:

  • SOLID原则
  • GoF设计模式
  • MVC(用于ASP.Net MVC)

第四:了解更多工具

您知道Microsoft通过提供许多现成的工具使事情变得容易吗?好吧,您迟早会遇到他们的限制。当您这样做时,您要么必须按照自己的意愿弯曲它们,要么自己滚动。无论哪种方式,您都将不得不使用一些CSS和Javascript来搞怪。

最后

完成那么多工作之后,您就可以迈向真棒了。

[编辑:固定学习此sutff的顺序。显然我昨天不能数...]


“这样做的时候,要么要么屈服于自己的意愿,要么按照自己的意愿行事”,或者使用开放源代码。不过,+ 1是个好答案
pdr

谢谢..确实很棒的答案:-)但是关于mvvm,ioc,mvp,存储库,工厂的嗡嗡声是什么?
丹尼尔·厄普顿

3
MVVM-(当前)非常特定于WFP / Silverlight的设计模式。MVP-与MVC相似的模式,类/层之间的交互有些区别。存储库/工厂/ IOC-在上面的“第三条”中应涵盖其中,它们与关注点分离,DRY原理和可测试的设计有关。“微软祝福”的方法-取决于您的需求。目前的趋势肯定似乎是MVC3,它走一段很长的方式来实现用少得多的小题大做“好”的设计,方便IOC / DI,可测试控制器等
mjhilton

3
@Daniel肯定有很多流行语。您可以做的最重要的事情是了解它们是什么以及它们可以帮助您解决什么类型的问题。不要陷入将整个应用程序整合到一组不会在可维护性方面增加价值的设计模式的陷阱,或者更糟的是,它很难理解(有时会太多,以致您不记得要做什么)写完后的6个月)。让适用的模式帮助您简化复杂的问题。
迈克尔·迪恩

1
@Daniel:我真的不会太担心“微软祝福”的方法。好的设计就是好的设计,无论谁祝福它。实际上,Microsoft经常在此领域进行追赶(例如,ASP.Net MVC作为对其他MVC框架的回应)。也就是说,您确实需要时刻了解Micosoft 技术。众所周知,出色的设计会失败,因为它们不适合可用的工具集。
Kramii

0

Kramii提到的各种观点都非常值得,但我想强调提及使用SOLID原则。真正了解这些内容将有很大的不同,许多GoF模式等将开始自然地消失。这些东西中的大部分最终都与分离您的关注点和管理依赖关系有关,因此从源头开始,其他所有事情都将是有意义的。

如果您像我刚参加JP Boodhoo的OO编码课程之前的那种人,那么单一责任原则的意义远比您想像的要多!坚持这一点真的很值得理解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.