我领导着一个由六名开发人员组成的团队,在过去的一年里,我们已经迁移到 Silverlight/WCF/C#/EF/SQL Server 架构来进行开发。我们现在已经使用这种架构部署了 5 或 6 个小型应用程序,我们目前正在开发一个更大的系统。
我们开发了自己的小型解决方案框架,我们将其用作所有新开发人员的模板。生产力相当不错。尽管如此,我仍然感到以更少的资源提供更多功能的压力,我想知道我们是否应该采用其他工具。
我们致力于 .NET 和 Silverlight,但当我读到“Ruby on Rails”将生产力提高 10 倍的说法时,我感到很紧张。 .NET 是否有广泛等效的工具/体系结构/模式?使您能够快速部署企业功能的高级功能?
ASP.NET MVC 结合一些 ORM 类似于 .NET 世界中的 Ruby/Rails。在过去的几年里,我一直在使用 ASP.NET MVC 和 LINQ to SQL 进行敏捷开发,并取得了不错的成绩。我将我最大的生产力提升主要归功于切换到测试驱动的开发范例,并在小的、频繁发布的迭代中大量投资于基于故事的开发。巨大的 yield 来了,不一定是更快地开发软件,而是第一次开发出正确的软件——导致更少的返工和更高的使用特性与开发特性的比率。此外,用单元测试围绕我的代码允许我随着时间的推移以大致相同的速度继续开发,而传统方法中未经测试或测试不足的代码会随着复杂性的增加而导致生产力的急剧下降。 ASP.NET MVC 比标准 Web 表单更适合这种开发风格。您可能可以使用 WCF 代码实现很多相同级别的可测试性。