我正在启动我的创业公司,我需要做出关键的架构选择。 我将为我的客户提供SAAS Web应用程序,它们有不同的特定需求,但程序的主要目的是相同的,自动生成文档和pdf。
技术上我选择ASP.NET MVC,WebAPI,EF Code First。现在我只有一个项目(1分贝,1个asp.net mvc客户端,1个asp.net webapi,1个服务层+ 1个存储库)有一个工作概念证明
我将为每个客户提供一个数据库(更易于维护,扩展......)
每个客户的一个WebFront,具有个性化的html / css模板,当然还有特定的数据/菜单
只有一个WebApi服务为每个客户端公开所有服务, 例如/ api / client1 /,/ api / client2 /具有几乎相同的api调用但返回的数据不同。
对于每个客户端,存储业务逻辑,数据访问,POCO / DTO的服务层(类库dll)。
每个Webfront都会分享对特定服务DTO / POCO的引用。
我当然需要我的解决方案来横向扩展,而不是垂直扩展。
那么这是一个不错的选择吗? 你有任何推荐/更好的解决方案吗? 我可以将所有这些放在同一个视觉项目中吗? 我真的希望只在一个项目中使用服务层(业务),并且通过良好的面向对象方法,我可以为所有客户提供共享需求,并在派生对象中分享特定需求。
感谢您的帮助