我一直在研究客户端架构的最佳实践,包括mvvm和最新增加的内容,如flux ...
我正在考虑Android应用程序的架构,它可能会使用mvvm和mvp的组合来表示。
困扰我的是组件之间的耦合(mv *相关类), 例如: 我有一个在StockListView中使用的SlimStockItem模型,它可以导航到StockItemView中使用的StockItem,StockItem有更多的数据。
我可以为两个视图使用相同的StockItem和空值 - 这将引入控制器与列表和项目详细信息组件的视图之间的耦合,或者使用不同的方法导致一些实现选择:
第二种情况是从服务器接收股票的更新(推/拉)。
(Flux)事件非常适合作为pub / sub实现,以通知多个来自用户交互/服务器推/拉交互的新状态更改视图。
在考虑实施时,我有几个选择: 1.更新"域"分层并发布下游事件" StockUpdated"使用"域名" model作为更新SlimStockItem和StockItem的mv *组件的有效载荷。 2.根本不实现域层并发布事件" StockUpdated"使用StockDataPayload为mv *组件更新SlimStockItem和StockItem。
您使用哪种方法以及可能的权衡取舍? (如果您使用不同的方法,请描述它!)
P.S我引用"域名" model,因为实际的域模型驻留在服务器上,在讨论客户端体系结构时超出了范围。
祝你好运, 埃里克。