標籤:and mod toast roi 個人化 cti ext nts mvc架構
MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫,一種軟體設計典範,用一種商務邏輯、資料、介面顯示分離的方法組織代碼,將商務邏輯聚集到一個組件裡面,在改進和個人化定製介面及使用者互動的同時,不需要重新編寫商務邏輯。
Model 層處理資料,商務邏輯等;
View 層處理介面的顯示結果;
Controller層起到橋樑的作用,來控制V層和M層通訊以此來達到分離視圖顯示和商務邏輯層。
案例:
public class MainActivity extends Activity implements Implement,OnClickListener { private TextView tv_view; private MainModel mModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.th); initView(); } private void initView() { // TODO Auto-generated method stub mModel = new MainModel(); tv_view = (TextView) this.findViewById(R.id.tv_view); findViewById(R.id.btn).setOnClickListener(this); findViewById(R.id.btn1).setOnClickListener(this); } @Override public void loadData() { mModel.loadData(tv_view); } @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn: loadData(); break; case R.id.btn1: httpData(); break; default: break; } } @SuppressLint("HandlerLeak") @Override public void httpData() { Object data=mModel.httpData(); if(data!=null) { tv_view.setText(data.toString()); }else{ onError(); } } @Override public void onError() { // TODO Auto-generated method stub Toast.makeText(getApplicationContext(), "載入資料失敗",Toast.LENGTH_LONG).show(); } }
public class MainModel { public void loadData(TextView tv_view) { tv_view.setText("MVC模式在Android中的應用,Model擷取資料"); } /*** * 網路請求 * * @return 返回請求資料 */ public Object httpData() { return "網路請求返回資料"; }}
MVC的優點:
1.耦合性低。所謂耦合性就是模組代碼之間的關聯程度。利用MVC架構使得View(視圖)層和Model(模型)層可以很好的分離,這樣就達到瞭解耦的目的,所以耦合性低,減少模組代碼之間的相互影響。
2.可擴充性好。由於耦合性低,添加需求,擴充代碼就可以減少修改之前的代碼,降低bug的出現率。
3.模組職責劃分明確。主要劃分層M,V,C三個模組,利於代碼的維護。
源碼點擊下載
Android之MVC模式的使用