因此,我们专注于开发利用CQRS ES的DDD模式的企业Web应用程序.我们在企业级别上处理得非常好.现在,当我们想要使用Xamarin和便携式类库向本地移动设备开放我们的后端服务时,它是如何组合
现在我们倾向于将原始DDD项目保留为类库,并为我们的MVVM代码创建一个单独的可移植类库.我们可能会使用文件链接链接回域项目以获取模型,以便我们始终拥有最新的POCO对象集以及我们要在客户端上使用的任何DTO对象.其他任何人对此有何想法或想法?我真的没有看到围绕这个DDD PCL组合的很多讨论.
我已经做了很多关于这一点的思考,以及我将Xamarin放入我当前使用DDD方法的架构中所做的是:>将您的域实体放入PCL项目并使用它来引用您需要的所有项目,例如Xamarin.Forms,Xamarin.Android,Xamarin.iOS,ASP.NET,WCF等.
>您的域服务可以位于将用于应用程序层的普通类库中.应用程序层将由Presentation MVC等Presentation项目使用.
>在分布式服务层中,您将公开Xamarin或其他应用程序的服务以与您的应用程序进行通信.您可以将ASP.NET Web Api或WCF与REST一起使用.该层还将使用关于DDD概念的应用层.
> xamarin项目进入表示层但不使用应用层.在这里,您将为Xamarin编写服务,以通过Internet连接到分布式服务层.如果您需要离线同步,也可以将其放在此处.在这里,您将引用您的域实体项目,并让您的所有实体都有其业务规则.
这样,您就可以与所有解决方案共享域和业务规则,并尊重DDD概念和角色分离.