0

我的雇主有一个使用了 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?

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

有什么推荐的从底层设计的书籍吗?

其他考虑?

4

1 回答 1

0

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

  • 使用 MVC 4x。
    • Web 表单现在已经过时了。如果您查看它们的原始用途,您会注意到它们是在考虑现有 Windows 窗体开发人员(按钮事件等)的情况下构建的。
    • MVC 更像是目标受众的演变,因为 Web 开发人员已经成熟到他们意识到标准的重要性的程度,因此需要一个允许他们产生现代平台所需结果的环境。在诸如单元测试之类的关注点分离领域中,它也更加强大。

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

其他建议?

多年来,我们参与了很多系统,我们采用了其他人的系统。无论是糟糕的编写/设计,还是刚刚过时,从头开始总是很困难,您应该认真注意以下几点:

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

哇,我可以说更多,但需要一两天。

希望对您有所帮助。

问候, 雅克

于 2012-08-13T16:43:30.057 回答