Android之MVC模式的使用

來源:互聯網
上載者:User

標籤: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模式的使用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.