.Net Web应用程序重新设计 - 建议?

时间:2012-08-13 16:21:45

标签: c# asp.net-mvc webforms

我的雇主有一个9年历史的专有.Net Web应用程序需要重新设计。它的创建最初外包给另一家公司,其架构和编码工作非常糟糕。它是在ASP.net 1.14,VB.Net和C#中设计的。我们继续以糟糕的建筑为基础,在可能的时间和地点进行改进。我们已升级到ASP.Net 4.0和VS 2010。

系统仅在内部使用,几乎所有业务流程和工作流程都通过系统处理,大约140个用户。然而,该系统已经发展得如此之大,以至于难以维护,其架构使其难以包含符合最新技术的新功能。

如果您可以从头开始设计.Net系统,牢记移动技术和Windows 8 ,您会怎么做?我们的SQL 2008数据库是健全的,我们不打算在那里改变任何东西。

.Net Webforms还是MVC?

你会用什么架构?例子?如果具有不同业务规则的外部公司使用该系统,我们需要允许可自定义的业务逻辑层。

有关从底层设计的任何推荐书籍吗?

其他考虑因素?

1 个答案:

答案 0 :(得分:0)

这将是一个有限的答案,但根据我的经验,我会说以下......如果你要重写:

  • 使用MVC 4x。
    • Web表单现已过时。如果你看一下它们的最初目的,你会发现它们是用现有的Windows窗体开发人员构建的(按钮事件等)。
    • MVC更多地是目标受众的演变,因为Web开发人员已经成熟到他们意识到标准有多重要的程度,因此需要一个能够让他们产生现代平台所需的结果的环境。在关注领域与单元测试等事物的分离方面也要强得多。

对于业务层,我会认真考虑Web服务,或者在您的情况下考虑WCF。这将允许您在将来处理各种情况,包括其他公司可能希望直接与您的内部系统集成的企业对企业场景。

其他建议?

多年来,我们采用了别人的系统,参与了不少系统。无论是写得不好/设计不好,还是刚刚过时,从头开始都很困难,你应该认真注意以下几点:

  • 预算 - 公司真正准备好多少钱
  • 用户气质:如果您正在与不喜欢变化的用户合作,那么这是您应该特别注意的领域。让他们参与这个过程,让他们觉得结果和他们一样多。
    • 小心功能丧​​失。由于时间/金钱限制,您可能会重新开发某些东西,但最终没有时间或金钱来实施您认为的次要功能。在部署时,您的用户会变得焦躁不安,因为它实际上是一个非常严肃的功能。最终的结果是他们开始放松对系统的信心,你会为此付出高昂的代价。
  • 流程:如果您可以将敏捷视为一种开发策略。它不适合较小的项目,但如果正确实施,确实会对更大的长期项目产生重大影响。
  • 技能/资源:确保您的团队得到有效利用,并拥有合适工作所需的技能。
哇我可以说更多,但需要一两天。

希望有少量帮助。

此致 雅克