初步的理解记录
MVC MVP MVVM分析
MVP 带实例(很好,实例很好)
1.MVC
model-view-controller
view层用于显示ui;model是数据的获得,比如网络请求、数据库的访问等;controller是对两者的控制,分为被动和主动两种方式,主动是利用观察者模式,每次model更新时就会通知view层进行数据刷新。被动是添加监听,当点击时获得数据更新界面。
2.MVP
model-view-presenter
view层和model层同上,不同在于presenter,presenter处理view与model之间的逻辑,presenter与view是一对一的关系,互相引用彼此。view层不可直接与model层相互联系。
具体实现思路:
1.每一层的类都对应一个接口,可以很好的定义三者之间的关系。
2.view层:主要的接口方法是根据界面要显示的内容而定。换句话也可以理解为需要和控件打交道的逻辑写在view层。比如显示弹框或者进度条显示等等。
model层:主要是数据的请求逻辑,但是需要提供接口将数据回调给presenter层。
presenter层:主要是处理view层和model层的逻辑关系,利用生命周期,什么时候做哪些操作,就调用model和view中的方法。
3.MVVM
model-view-viewModel
view层和model层同上,不同在于viewModel,viewModel处理view与model之间的逻辑,view层不可直接与model层相互联系,viewModel与view是生产者和消费者的关系,是一对多的关系,而viewModel与model是多对多的关系。
网友评论