我正在研究新的业务应用程序要求(技术,而不是会计)。该应用程序需要以下架构:
我不是全职程序员。但在过去 25 年里,我使用 FORTRAN、Common Lisp、Pascal、VB 和 Python 进行了一些编程。我可能会被描述为这里的创意者 - 而不是实施者。
如果我们想对此进行原型设计,最好的平台是什么?我认为,由于客户端,.NET 会很好,但我担心如果我们使用 SQL 以外的其他东西,是否能够将 .NET 用于后端(我对 LINQ 一无所知 - 这对我有帮助吗? )。另外,我真的很喜欢动态类型语言的想法,因为它们的表现力和开发速度。
考虑到低延迟和非关系型数据,NoSQL 将是正确的选择。许多流行的数据库都对 .net 提供了良好的支持(例如 MongoDB、CouchBase),甚至对其 lambda/表达式和 LINQ 也是如此。此外,您还必须考虑可能影响后端架构的最终一致性(无论采用关系型还是 NoSQL、复制还是分片)。
关于审计跟踪、版本控制和发布更改,请查看 CQRS 和事件溯源架构模式,它们很好地解决了此类问题。
对于客户端应用程序,我建议尝试 Xamarin。 (我认为它比 WPF 更好,因为它不像 WPF 那样专注于特定设备)这提供了为服务器和客户端应用程序使用相同的开发平台/语言以及降低开发/支持成本的主要好处。
关于桌面应用程序,我不确定 Xamarin 是否支持 COM,但如果不支持,您可以共享客户端代码并解耦表示层。因此,您将拥有桌面 (Visual Studio) 和移动 (Xamarin) 的单独层
所有这些东西都可以使用 .net 来制作,我在这里看到了一个很棒的优点:为所有应用程序使用通用代码库。