Помогите с оформлением по MVC кода на джаве

156
13 апреля 2019, 22:00
import javax.swing.*;
public class Runner {
    public static void main(String[] args) {
        Controller controller = new Controller();
    }
}
class Controller {
    public int age = 20;
    public String name = "Sasha";
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
    Controller() {
        Model model = new Model();
    }
}

class Model {
    Model() {
        Controller controller = new Controller();
        String name = controller.getName();
        int age = controller.getAge();
        View view = new View();
        view.showStudent(name, age);
    }
}

class View {
    public void showStudent(String name, int age) {
        System.out.println("name  " + name + "age  " + age);
    }
}

Не могу разобраться с mvc. Помогите пожалуста. Надо чтобы контроллер видел только модель. В контроллер просто вносятся данные, которые затем выводятся во вью.

Answer 1

Вы не совсем правильно поняли принцип MVC, в вашей реализации данные хранятся в контроллере, а модель владеет и управляет контроллером и view.

Данные необходимо хранить в моделе, view должно иметь возможность взаимодействовать с интерфейсом, а контроллер должен управлять моделью и view.

import javax.swing.*;
public class Runner {
    public static void main(String[] args) {
        Controller controller = new Controller();
    }
}
class Controller {
    Model model = new Model();
    View view = new View();
    Controller() {
        view.showStudent(model.getName(), model.getAge());
    }
}

class Model {
    public int age = 20;
    public String name = "Sasha";
    public String getName() {
        return name;
    }
    public int getAge() {
        return age;
    }
}

class View {
    public void showStudent(String name, int age) {
        System.out.println("name  " + name + "age  " + age);
    }
}
READ ALSO
IE не понимает метод forEach

IE не понимает метод forEach

Использую маленький скрипт

167
Интеграция виджетов

Интеграция виджетов

У кого-нибудь имелся опыт интеграции виджетов: 1Textback - чат; 2

154
как проверить на отрицательное число

как проверить на отрицательное число

Помогите пожалуйста, как на JavaScript проверить отрицательное числоПри введение отрицательного число проверить в условии при строгом равенстве

168