当我们在互联网上阅读有关设计模式时,我们注意到有3个类别:
但是当我们创建软件架构时,我们会考虑MVP,MVC或MVVM.
例如,在创作模式中我找到了单身模式,但我也在我的MPV中使用了单身.
所以我的问题是:设计模式是否超过了产品的所有结构?
如果是,那么单身如何成为一种设计模式?因为我可以在应用程序的任何地方使用它.基本上,它仅限于在内存中一次创建一个实例,但这个概念不能定义软件的设计方式吗?
如果没有,那么MVP,MVC和MVVM在哪三种模式中呢?软件的设计和架构有什么区别?
我一直用我认为的Passive MVP来实现我的Android应用程序.
因此,例如在我的视图类中,我有一个ListView.
ListView userListView;
Run Code Online (Sandbox Code Playgroud)
当单击一个项目时,我会简单地在演示者上调用一个方法
userListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
mPresenter.onUserSelected(position);
}
});
Run Code Online (Sandbox Code Playgroud)
我感到困惑的部分是ListView需要一个适配器.
所以目前在我的主持人中我有这个:
private ArrayList<User> mUserList = new ArrayList<User>();
Run Code Online (Sandbox Code Playgroud)
...
adapter = new UserListAdapter(getContext(), mUserList);
mView.setUserListAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
当我想改变一些东西时,我这样做:
mUserList.add(user);
adapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)
这是适配器的正确位置吗?我问的原因是因为我最近想要使用swing进行一些工作,并且出现了类似的问题,JLists需要一个看似非常相似的ListModel.那么对于swing,ListModel应该驻留在哪里?