使用继承扩展Fragment屏幕?

时间:2017-06-20 18:46:58

标签: android architecture mvp

我已经为OrderFragmentDetails类附加的屏幕实现了UI,与买家和卖家流程的屏幕相同。唯一的区别是按钮确认订单的行为。我正在考虑两种选择:

1 - 为买方和卖方扩展OrderFragmentDetails: OrderBuyerFragmentDetails和OrderSellerFragmentDetails(我正在使用MVP,因此还创建了2个从OrderFragmentDetailsPresenter扩展的演示者)

2 - 在创建片段时传递参数,并在OrderFragmentDetailsPresenter中确定逻辑。这方面的缺点是代码看起来不太可扩展......而在第一种情况看起来有点矫枉造成在按钮中为不同的调用创建2个类,而且我不是扩展UI的忠实粉丝。

enter image description here

1 个答案:

答案 0 :(得分:1)

我会拥有1个片段和2个演示者。与您的第二个选项类似,但具有逻辑分离。根据您在创建片段实例时发送的参数注入适当的演示者。

基本上,由于你有相同的用户界面,你应该重复使用相同的视图(片段),并且因为你有不同的逻辑可以有不同的演示者

此时你应该比较两个选项:有一个演示者与两个演示者

如果卖出/购买逻辑 ,只有一位状态为的演示者可能没问题,那么您就可以了从你的片段中传出来。

如果逻辑中等或大更好, 2个演示者