我无法理解MVVM究竟是什么?这怎么可能让下面的代码跟随MVVM或不是?
它是唯一的方法来确定代码清理器或类似设计模式,我不能理解什么是MVVM。
我已经制定了一个简单的教程,因为我一直使用DataBinding。如何区分它没有遵循MVVM?
我在这里得到简单的问题,希望我会得到明确的答案与示例。
MainActivity
public class MainActivity extends AppCompatActivity {
ActivityMainBinding activityMainBinding;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
activityMainBinding = DataBindingUtil.setContentView(this, R.layout.activity_main);
User user = new User("Android", "ios", "Blackberry");
activityMainBinding.setVariable(user);
}
}
模态类
public class Client {
String name;
public Client(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
布局
<data>
<variable
name="variable"
type="com.example.user_pc.databinding.User" />
</data>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:id="@+id/firstName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingBottom="30dp"
android:text="@{variable.firstName}"
/>
<TextView
android:id="@+id/middleName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingBottom="30dp"
android:text="@{variable.middleName}" />
<TextView
android:id="@+id/lastName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingBottom="30dp"
android:text="@{variable.lastName}" />
</LinearLayout>
这似乎是简单的问题,但我正在努力理解 MVVM和它的工作flow.All正在不同的目录中的模型,视图和视图模型,它是只让direcotry的不同还是什么?我没有清楚的概念。
我在这里得到了一些澄清,我会挖掘full.is MVVM比MVP更好? – Ghimire