Android 视图中的模型实例抽象级别';s使用MVP更新函数
当我读到MVP是开发Android应用程序的一种非常好的模式时,我开始研究MVP 我有一个类(模型),例如:Android 视图中的模型实例抽象级别';s使用MVP更新函数,android,mvp,Android,Mvp,当我读到MVP是开发Android应用程序的一种非常好的模式时,我开始研究MVP 我有一个类(模型),例如: public class Level { int difficulty; int enemies; public int getXpReward() { return enemies * difficulty; } } public class LevelView extends FrameLayout { TextView
public class Level {
int difficulty;
int enemies;
public int getXpReward() {
return enemies * difficulty;
}
}
public class LevelView extends FrameLayout {
TextView xpRewardTextView;
/*ctr and view init......codehere*/
public updateOptionOne(Level level) {
xpRewardTextView.setText(Integer.toString(level.getXpReward()));
}
public updateOptionTwo(int xpReward) {
xpRewardTextView.setText(Integer.toString(xpReward));
}
}
我还有另一个类(视图),例如:
public class Level {
int difficulty;
int enemies;
public int getXpReward() {
return enemies * difficulty;
}
}
public class LevelView extends FrameLayout {
TextView xpRewardTextView;
/*ctr and view init......codehere*/
public updateOptionOne(Level level) {
xpRewardTextView.setText(Integer.toString(level.getXpReward()));
}
public updateOptionTwo(int xpReward) {
xpRewardTextView.setText(Integer.toString(xpReward));
}
}
我是否应该从我的演示者调用optionOne函数以便传递整个级别实例?
比如:
或
我是否应该从我的演示者调用optionTwo函数,以便只将我们需要的数据传递给视图,就像只传递JAVA类型属性一样
比如:
因此,基本上我的问题是视图是否可以将模型类型作为其更新函数的参数?因为我阅读了一篇关于视图的MVP原则,该原则不应了解任何关于模型的内容。在这种情况下,是的,请尽量保持视图的简单
对于更大、更复杂的应用程序,有时需要类在视图和演示者之间进行通信。在这种情况下,您应该有一个视图层的模型和一个数据层的模型,并在表示层转换它们。在这种情况下,是的,请尽量保持视图的简单
对于更大、更复杂的应用程序,有时需要类在视图和演示者之间进行通信。在这种情况下,您应该有一个视图层的模型和一个数据层的模型,并在表示层转换它们。是的,视图不应该知道关于模型的任何信息,选项二是最佳操作方案是的,视图不应该知道关于模型的任何信息,选项二是最佳操作方案