как сделать интерфейс командной строки из данной модели данных, используемой для графического интерфейса - PullRequest
0 голосов
/ 06 октября 2010

Привет, ребята. Я разрабатываю графический интерфейс для настройки и вызова нескольких внешних программ на Python, и я использую wxPython для наборов инструментов GUI. По сути, вместо ввода команд и параметров в каждой оболочке для каждого приложения (одно приложение через одну оболочку) графический интерфейс визуализирует эти параметры и вызывает их как подпроцессы. Я построил модель данных и соответствующие элементы управления view / gui (в основном, используя шаблон наблюдателя или пытаясь разделить модель с виджетами gui), и это нормально.

Теперь есть запрос от моих коллег и многих других людей (даже включая меня), возможно ли иметь интерфейс командной строки для подпроцессов или даже для всего графического интерфейса конфигурации, основываясь на уже имеющейся у меня модели данных ? Это связано с тем, что многие люди предпочитают CLI, CLI лучше по надежности, а также потребности в отладке и взаимодействии программистов.

Поскольку я довольно новичок в разработке CLI, мне действительно нужна ваша помощь. Я ценю любые советы и информацию от вас.

точнее,

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

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

  3. Можно ли использовать CLI и GUI одновременно? Я имею в виду, могу ли я взять CLI как другое представление модели данных? Или есть другой правильный подход?

Большое спасибо за помощь !!

Ответы [ 2 ]

1 голос
/ 06 октября 2010
Is it possible to have the CLI and GUI at the same time? I mean, can I take the CLI as another view of the data model? Or there is other right approach?

Правильно, CLI - это просто еще один интерфейс для доступа к модели данных.Вы сказали, что ваша модель чиста от кода GUI?(должно быть, даже если у вас был только один интерфейс), в этом случае добавление возможностей CLI должно быть тривиальным;здравый дизайн командной строки (опции, подкоманды) и optparse - все, что вам нужно.

1 голос
/ 06 октября 2010

Если вы можете вызывать методы вашей модели данных из вашего GUI, и они не зависят от чего-либо в GUI, тогда да, вы должны иметь возможность вызывать те же самые методы из другого GUI, будь то CLI, pyGTK или что-то еще.

...