PHP MVC Best Practices / «Правила» для успеха [закрыто]

вы можете использовать таймер обратного отсчета в android.

Вот один пример, который вы можете увидеть Нажмите здесь

, вы можете использовать ниже ProgressBar в своей деятельности.

   

Используйте CountDownTimer Как ниже код в вашей деятельности.

ProgressBar mProgressBar;
CountDownTimer mCountDownTimer;
int i=0;

mProgressBar=(ProgressBar)findViewById(R.id.progressbar);
mProgressBar.setProgress(i);
   mCountDownTimer=new CountDownTimer(5000,1000) {

        @Override
        public void onTick(long millisUntilFinished) {
            Log.v("Log_tag", "Tick of Progress"+ i+ millisUntilFinished);
            i++;
            mProgressBar.setProgress((int)i*100/(5000/1000));

        }

        @Override
        public void onFinish() {
        //Do what you want 
            i++;
            mProgressBar.setProgress(100);
        }
    };
    mCountDownTimer.start();

13
задан MarioRicalde 10 November 2009 в 23:58
поделиться

3 ответа

MVC - это наиболее неправильно понимаемый шаблон проектирования. Есть по определению одна модель.

Когда градостроитель предлагает проект, он конструирует для него одну модель. Отдельные объекты, из которых может состоять модель: здания, улицы, парки, обычно не представлены отдельными моделями: все они являются аспектами одной модели.

Таким образом, в MVC модель может состоять из разных объектов, и это, вероятно, лучшее слово для этого: сущность, как в сущности, представленной таблицей базы данных. Модель в MVC может быть даже чем-то более абстрактным, чем на самом деле представлена ​​в коде, а скорее концептуальным зонтиком для всех данных, с которыми может потребоваться приложение для работы.

Учитывая это, если у этих сущностей есть свои собственные методы, особенно методы, которые могут соответствовать аспектам CRUD (создать, прочитать, update, delete), они не должны не открываться напрямую контроллеру, это слишком низкий уровень абстракции. Эти строительные блоки должны быть встроены в более крупнозернистый интерфейс, например, вы можете удалить запись, но затем вернуть список записей после удаления. Контроллеру просто необходим доступ к более грубому методу, который выполняет все вышеперечисленное.

Кроме того, предоставление методов сущностей непосредственно контроллеру может привести к необходимости перезаписать контроллеры вместе с классами сущностей, если есть изменение, например, в том, какая система ORM (объектно-реляционного сопоставления) используется. Промежуточный уровень, который я предлагаю, также является хорошим местом для обработки исключений, ведения журнала и любых других подобных административных действий, которые требуют ухода.

Предлагаемый уровень методов на более высоком уровне абстракции иногда называют бизнес-делегатом или «фасадом», но на самом деле это то, что я считаю моделью. Надеюсь, это не слишком теоретически и полезно для OP или других читателей.

39
ответ дан 1 December 2019 в 18:13
поделиться

Для php я нравится использовать фреймворк CodeIgniter. Он закладывает основу для настройки MVC. Контроллеры находятся в «/ controllers», а модели - в «/ models»

. Я считаю, что контроллер должен вызывать модель, а модель должна инкапсулировать как можно больше, используя при необходимости подметоды. Это делает ваш код более адаптивным и гибким. Например, сегодня ваша модель читает из локальной базы данных, завтра вы можете читать из службы REST. Модель должна возвращать данные контроллеру, а контроллер должен быть наивным по отношению к тому, что происходит внутри модели.

1
ответ дан 1 December 2019 в 18:13
поделиться

Я не совсем понимаю, что вы имеете в виду под «организацией».

Контроллер вызывает любую модель [ы], которые ему нужны, чтобы получить информацию для передачи в представление [s ]. Он (контроллер) может выполнять несколько вызовов модели для получения различной информации.

Попробуйте прочитать это: http://www.phpwact.org/pattern/model_view_controller

0
ответ дан 1 December 2019 в 18:13
поделиться
Другие вопросы по тегам:

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