Android 开发模式和优秀框架那些事Android应用开发那些事

MVC模式

2019-10-11  本文已影响0人  Stroman

总述

MVC在GUI开发中是十分常见的设计模式,也是基本框架。M代表数据模型,V代表视图,它是数据模型的可视化展示,C代表控制器,其中控制器控制着视图和数据模型。这里面控制器就内置了数据模型和视图。我认为控制器里面只不过一些方法,数据的存储都在数据模型里面,换句话说,这个控制器就是个指挥官的角色,就感觉像个交警在那里指挥数据模型和视图在那里交互一样。在iOS中数据模型和视图之间是没有直接交互的,而是通过控制器进行的,这个我感觉很合理。

类图

类图.png

效果

这是controller自带的model
这是一个model
这是另一个model

Process finished with exit code 0

调用

package com.company;

public class Main {

    public static void main(String[] args) {
    // write your code here
        Controller controller = new Controller();
        controller.getView().updateData(controller.getModel());
        Model model = new Model();
        model.setInformation("这是一个model");
        controller.setModel(model);
        controller.getView().updateData(controller.getModel());
        Model anotherModel = new Model();
        model.setInformation("这是另一个model");
        controller.getView().updateData(controller.getModel());
    }
}

控制器

package com.company;

public class Controller {
    private Model model;
    private View view;

    public Controller() {
        this.model = new Model();
        this.model.setInformation("这是controller自带的model");
        this.view = new View();
    }

    public Model getModel() {
        return model;
    }

    public void setModel(Model model) {
        this.model = model;
    }

    public View getView() {
        return view;
    }

    public void setView(View view) {
        this.view = view;
    }
}

数据模型

package com.company;

public class Model {
    private String information;

    public String getInformation() {
        return information;
    }

    public void setInformation(String information) {
        this.information = information;
    }
}

视图

package com.company;

public class View {
    public void updateData(Model model) {
        System.out.println(model.getInformation());
    }
}

多谢捧场

如果您觉得我的文章有价值,那么赏脸打赏一个,鄙人感激不尽。不过,不打赏看看也是好的,如果有不对的地方,还请您多多指正。


上一篇下一篇

猜你喜欢

热点阅读