Какой вариант разделения ответственности лучше? Доброго времени суток. Такая ситуация: есть некое устройство в игре, которое может потреблять некую мощность и генератор, который может ее производить. Уровень потребления может меняться от min до max и 0 (выкл), есть управление из GUI, например.
Устройству поступила команда работать на 20 МВт, а доступно от генератора только 15МВт. Есть два варианта действий:Устройство выбросит исключение. Значит, условный интерфейс должен самостоятельно проверять достаток энергии или по крайней мере "спросить" у распределителя мощности, а хватит ли, и если да, то дать юзеру сдвинуть ползунок подальше.Устройство автоматически избежит перегрузки и поставит себе максимально возможное питание, в данном случае 15МВт, ну и какое-нибудь событие PowerLevelChanged вызовет, конечно. GUI по этому событию обновится, в результате сдвинуть ползунок дальше игрок не сможет - его будет отбрасывать назад.
Аналогично и с вкл/выкл - можно просто не включать, если доступная мощность меньше min, а можно выкинуть исключение "чего включаешь, мощи нет".
В проекте возникла путаница этих двух подходов - в одном месте кидаю исключение, в другом "отмалчиваюсь" - а как лучше с точки зрения принципов проектирования и т.д.? Сам склоняюсь ко второму подходу, т.к. он кажется проще и лаконичнее (например, GUI будет "самобалансироваться" без всяких дополнительных проверок с его стороны), но стало интересно, как люди делают.

21 Авг 2019 в 07:03
184 +1
0
Ответы
1

В данной ситуации лучше использовать второй вариант - автоматическое избежание перегрузки и уведомление об этом событии.

Этот подход более безопасен, так как предотвращает возможные ошибки пользователя, которые могут привести к перегрузке системы. Кроме того, он также более удобен для пользователя, так как GUI будет автоматически обновляться в случае изменения доступной мощности, что позволит избежать ошибок и конфликтов.

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

20 Апр 2024 в 13:08
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир