Lafafm
@Lafafm
Development lead, Full stack generalist

Как реализовать изменение программы средствами интерфейса ?

Здраствуйте, вот заинтересовал такой вопрос:

Допустим у нас есть некоторый блок кода:
If(var){
do this;
}

И в то же время есть интерфейс с одной радио-кнопкой, которая отключает / включает этот блок.
Так вот, как правильно реализовать такое включение / отключение рабочего блока кода?

Делать данный блок условием как в примере и проверять его с помощью какой-то глобальной переменной, которую и будет изменять радио кнопка? Либо напрямую парсить какой-то конфиг и менять значение путем перезаписывания самого файла? Либо же все делать через базу данных?

Может для кого-то вопрос простой или несуразный, но я не знаю как будет правильно реализовать данный функционал. Заранее спасибо за ответы.
  • Вопрос задан
  • 2437 просмотров
Решения вопроса 1
Tiendil
@Tiendil
Разработчик ПО.
1. Конкретная реализация зависит от проекта, предметной области, того, что делает код, когда выполняется и прочих вещей.
2. Переменная не обязана быть глобальной.
3. Советую почитать про MVC, правда не уверен, что в данном случае оно нужно.

Пользуясь своими экстрасенсорными способностями пришёл к выводу, что всё-таки через базу.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Я так понимаю что вопрос о изменениях UI на клиенте, ибо иначе думаю вопросов бы не возникало.

Есть такой паттерн как MVVM. его реализуют кучи фреймворков аля Knockout.js, Angular.JS и т.д. Эти фреймворки позволяют строить сложные UI используя декларативный подход и дата-биндинг. То есть у вас будет мгновенная реакция UI на изменение каких-то данных или состояния модели.

По сути можно реализовать что-то свое попроще под специфичную задачу, но в любом случае все что происходит на клиенте пишется на JS.
Ответ написан
@Kirill_0x7C4
Вы же как-то отслеживаете состояние радиокнопки?
Допустим, в зависимости от состояния меняется переменная radiobutton_state, переключаясь между значениями ENABLED и DISABLED.

Тогда в коде можно написать:
If ((var) && ( radiobutton_state == ENABLED){
do this;
}


То есть код "do this" у вас выполнится только, если будут соблюдены оба условия: и var == TRUE, и radiobutton_state == ENABLED.

Я правильно понял, что требуется?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы