Преобразование программы в стиле 1D консоли в интерфейс 2D GUI - PullRequest
0 голосов
/ 14 октября 2019

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

Мой вопрос: где, черт возьми, будетначать с того, чтобы превратить симуляцию стиля текста в интерфейс GUI?

Я знаком с компонентами Swing и не прошу полного разбора, а просто начинаю с того, что мне нужноначать, чтобы начать преобразование этой программы. Спасибо!

1 Ответ

0 голосов
/ 14 октября 2019

Поскольку ваш код уже выдает правильные данные, нет необходимости повторять все моделирование. Я хотел бы взглянуть на трехуровневую архитектуру (https://en.wikipedia.org/wiki/Multitier_architecture#Three-tier_architecture).. Я проектирую большинство своих приложений таким образом, поэтому, например, обмен презентацией для пользователя довольно прост и не требует касания какого-либо кода, которыйне предназначен специально для отображения данных пользователю.

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

Уровень логики - это фактическое моделирование автомобиля, светофора. и, возможно, дороги.

Уровень Презентации берет предопределенные Объекты из уровня Логики и ничего не делает, кроме как представляет его Пользователю.

Если вы придерживаетесь этого Дизайна, это не имеет значения, где вы находитесь. Пользовательский интерфейс находится на консоли, Swing, JavaFX или на веб-сайте. Вы можете поменять его и вернуться в любое время. . Л

...