我们有一个用域驱动设计编写的Web应用程序。它有一个交易过程有界的上下文,您可以在其中搜索要约,订购它,然后像在网上商店一样付费。
该公司希望开发此网站的移动版本,该版本不具备您在桌面版中可以看到的所有信息。 F.ex:
- 搜索条件具有不同的含义
- 搜索有限制选项
- 搜索过程会有所不同(在桌面搜索中是通过ajax提供了很多选项,在移动设备中将使用肥皂,并根据需要提供小信息)
- 搜索想要有任何特殊过滤器
- 订购没有关于其他产品的额外信息(也许您还想购买......?)
- 摘要屏幕尽可能少的信息
- 等......在少数世界中:较少的域对象和不同的操作。
我们在事务处理有界上下文中的域模型有很多在此过程中使用的对象。移动版本的主要目标是排除不必要的信息/操作,因此只需要移动版本。
所以这是一个问题:
- 我们是否应该在同一个域中构建一个单独的Mobile事务处理有界上下文,因为某些操作会更小,而某些对象的定义信息会更少?如果是这样,我们应该以某种方式集成Dektop和Mobile上下文 - 使用共享内核吗?
- 或不同的移动子域名?一切都应该被视为一个没有任何整合的新问题空间?从一开始就对所有内容进行建模。
- 或者可能只是重构实际的有界上下文并添加另一个域模块?
- 或者我们应该开发类似的服务和存储库,实体等,但在相同的有限上下文中使用Mobile前缀(我希望不是:))
dekstop应用程序和网站的移动版本具有相同的编程语言 - 在我们的例子中是PHP。
我们想知道如何处理DDD中的移动流程?