Как создать класс?

247
06 февраля 2020, 06:00

У меня бизнес логика перемешена с UI. Как отделить бизнес логику в отдельный класс, экземпляр которого может генерировать значения больше и меньше заданного. Т.е. нужно выделить из всего этого класс, у которого есть метод генерации больше и генерации меньше значений. И в принципе всё, в этом классе больше ничего не должно быть.

public class Interface extends JFrame {
int myEnter;
private JButton generateMore = new JButton("Генерировать больше");
private JButton generateLess = new JButton("Генерировать меньше");
private JTextField inputText = new JTextField("", 5);
private JLabel showIcon1 = new JLabel("254");
private JLabel showIcon2 = new JLabel("125");
private JLabel showIcon0 = new JLabel("");
public Interface() {
    super("Lab1_GUI");
    this.setBounds(100, 100, 400, 150);
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    Container container = this.getContentPane();
    container.setLayout(new GridLayout(3, 10, 10, 10));
    container.add(inputText);
    container.add(showIcon0);
    generateMore.addActionListener(event -> {
        myEnter = Integer.parseInt(inputText.getText());
        showIcon1.setText(String.valueOf(ThreadLocalRandom.current().nextInt(myEnter, 1000)));
    });
    container.add(generateMore);
    container.add(showIcon1);
    generateLess.addActionListener(event -> {
        myEnter = Integer.parseInt(inputText.getText());
        showIcon2.setText(String.valueOf(ThreadLocalRandom.current().nextInt(myEnter)));
    });
    container.add(generateLess);
    container.add(showIcon2);
}

}

Answer 1

Я думаю вам стоит почитать про такие паттерны как MVP, MVC, MVVM. Это очень объемная тема для того чтоб ее расписывать здесь. И она требует опыта и понимания.

Про MVP можно почитать здесь: https://startandroid.ru/ru/blog/493-mvp-dlja-nachinajuschih-bez-bibliotek-i-interfejsov.html

MVC:

https://medium.com/upday-devs/android-architecture-patterns-part-1-model-view-controller-3baecef5f2b6

MVVM:

https://medium.com/@nyavorskii/%D0%B7%D0%BD%D0%B0%D0%BA%D0%BE%D0%BC%D1%81%D1%82%D0%B2%D0%BE-%D1%81-android-architecture-components-%D0%B8-mvvm-%D0%BF%D0%B5%D1%80%D0%B5%D0%B2%D0%BE%D0%B4-29654672f4ab

READ ALSO
Как проверить метод?

Как проверить метод?

Если метод сook в конечном счёте правильно отрабатывает, то он должен что-то вывестиТак вот как в JUnit тесте проверить, что метод cook что добавил...

280
Ожидание результата EditText в цикле for

Ожидание результата EditText в цикле for

Есть ArrayList в котором находятся словаЕсть EditText куда пользователь вписывает это же слово

253
Как сохранить состояние кнопки в RecyclerView, после выхода из Activity?

Как сохранить состояние кнопки в RecyclerView, после выхода из Activity?

Вопрос заключается в следующем : У меня есть список RecyclerView, где возле каждого item есть кнопка(с картинкой)При нажатии на кнопку, изображение...

241
Как console log работает без вызова с параметром?

Как console log работает без вызова с параметром?

Недавно встретил в интернете такой коментарий:

218