我已经外包了另一个组织的ASP.Net项目来构建一个大型企业应用程序。目前,近80%的工作已经完成。我发现开发人员没有在这个应用程序中实现任何架构。所有工作都在代码隐藏文件(* .aspx.cs)中完成。甚至数据库调用,sql脚本等都在代码隐藏文件上。整个解决方案只有一个项目,即一个网站。所有编码,.aspx文件等都在它之下。 我知道这个项目的可维护性,适应变更请求等将是一场噩梦。
但是,一旦用户数量从数百增加到数千甚至更多,我想知道这个项目功能的影响。
这是一个问题,因为没有数据访问层并且只在一个地方维护数据库连接?
由于没有实现适当的系统架构,项目从功能方面的整体影响是什么?
我需要一些难以说服他们去寻找合适的系统架构,这可能是整个系统的重写。如果您能够分享您对此事的专业知识,那将不胜感激。 谢谢。
答案 0 :(得分:2)
只有两种软件,工作的软件和没有的软件。客户/用户不关心幕后发生的事情。
维护软件是一个值得关注的真正原因,但是您可以使用可维护的意大利面条代码,但这在企业中非常不可能。
适当的体系结构特定于您的软件解决方案,涉及可维护性,可扩展性和可扩展性的目标。建筑目标中的传统经常发生冲突。
没有单一的答案,只有解决常见问题的模式。
答案 1 :(得分:1)
尽管如此,这是一个非常广泛的问题......
我认为使用一种架构来应用程序开发背后有众所周知的原因。
基本上使用架构会降低应用程序的复杂性。这可以通过使用以下最佳实践,设计模式来实现,这为我们带来了灵活性和高可用性。
由于您提到代码已在代码隐藏文件中完成,因此我们可以保证它违反了 关注点分离 和 DRY (不要重复自己)。这只是一个因素。可能有很多。
如果您能阅读有关Software Architecture and Design的文章,我想您可能会有一个好主意 关于Motivating Software Architecture
的另一个好消息