Запустите
php artisan config:clear
или удалите файл /bootstrap/cache/config.php
из своего проекта Laravel.
(php artisan config:cache
создает /bootstrap/cache/config.php
)
Сначала существует класс лифта. Это имеет направление (вниз, стойте, обслуживание), текущий пол и список запросов пола, отсортированных в направлении. Это получает запрос от этого лифта.
Затем существует банк. Это содержит лифты и получает запросы от этажей. Они планируются ко всем активным лифтам (не в обслуживании).
Планирование будет похоже:
Каждый лифт имеет ряд состояний.
Существуют дополнительные сигналы:
Править: Некоторые лифты не запускаются в bottom/first_floor особенно в случае небоскребов.
min_floor и max_floor являются двумя дополнительными атрибутами для Лифта.
Я видел много вариантов этой проблемы. Одни из основных отличий (который определяет трудность) - существует ли некоторая централизованная попытка иметь "умную и эффективную систему", которая имела бы выравнивание нагрузки (например, отправьте более неактивные лифты для лоббирования утром). Если это так, дизайн будет включать целую подсистему с действительно забавным дизайном.
Полный дизайн, очевидно, слишком много для представления, тут и там много altenatives. Ширина также не ясна. В интервью они попытаются выяснить, как Вы думали бы. Однако это некоторые вещи, в которых Вы нуждались бы:
Представление центрального контроллера (принимающий существует один).
Представления лифтов
Представления интерфейсных модулей лифта (они могут отличаться с лифта на лифт). Очевидно, также вызывные кнопки на каждом полу, и т.д.
Представления стрелок или индикаторов на каждом полу (почти "представление" модели лифта).
Представление человека и груза (может быть важно для факторинга в максимальные загрузки),
Представление здания (в некоторых случаях, поскольку определенные этажи могут время от времени блокироваться, и т.д.),