我将制作用于管理业务活动数据的ERP软件。该解决方案必须有两个主要部分:适用于所有客户端的WPF应用程序和用于所有客户端的ASP.MVCWebAPI应用程序。
API应用程序管理与所有客户端相等的所有公共数据,并将其存储到Azure云中的SQL服务器数据库中。客户端可以通过API访问web服务的这些数据。
WPF应用程序管理所有私有数据,并将其存储在客户端服务器上的SQL服务器数据库中。但这里有个问题。并非所有客户端都有自己的服务器。在这种情况下,数据库还必须运行在像Azure这样的云服务上。
99%的用户只使用WPF应用程序,而不使用web服务。桌面应用程序从web服务访问API。对于这两个数据库(客户机和服务器),我将使用实体框架6和代码优先迁移。

问题是,什么代码设计模式(如MVVM或MVC)可以用于没有重复代码的ERP软件,并使用服务层来管理数据的方向、web服务或客户端的服务器场,或者如果最后一种情况不可能发生在Azure上的客户服务器场。
发布于 2016-03-31 18:28:39
创建一个存储层,包含并管理您的所有存储库和业务逻辑,创建工作单元类作为管理存储库的单个点。
创建包含数据库层的数据访问层(首先是EF代码)。
contracts层将包含存储库的所有接口,您可以使用IoC轻松地将其注入
创建服务层将包含任何第三方服务和自定义服务,您的ERP将连接到。使用工厂设计模式来定义您的服务配置,以便轻松地升级或降级您的服务API。
还可以创建包含所有Helper类、日志和异常处理的Helper层。
使用IoC注入您的存储库和服务。
您可以返回到Martin先生的参考资料(企业应用程序的设计模式),这本书非常有用。
https://softwareengineering.stackexchange.com/questions/314244
复制相似问题