Model View Presenter
Model 資料類 View 視圖類 Presenter 處理邏輯的處理類
注意在presenter與view之間一般有interface介面
View(Activity)
package com.examples; import com.examples.presenters.Presenter;import com.examples.views.IView;public class View extends Activity implements IView { /** Called when the activity is first created. */ Presenter _presenter; public View(){ _presenter = new Presenter(this); } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); _presenter.action(Params ); } @Override public void setSomething(Params ) { //IView interface method } }
Presenters
package com.examples.presenters; public class Presenter { private IView _view; private Model _model; public Presenter(IView view){ _view = view; }//建構函式 public void action(Params ) { //執行處理 _view.setSomething(Params); }}
Views(interface)
package com.examples.views; public interface IView { public void setSomething(Params );}
Model
package com.example.model;public class Model { String aaa; public void set(String s) { aaa = s ; } public String get() { ruturn aaa; }}
推薦兩篇博文:
http://magenic.com/Blog/AnMVPPatternforAndroid.aspx
http://jamespeckham.com/blog/10-11-21/MVP_on_Android.aspx