Совместная работа командной строки и виджетов пользовательского интерфейса - PullRequest
1 голос
/ 12 апреля 2011

Могу ли я предположить, что каждое мощное приложение будет обеспечивать ввод командной строки / скрипта?

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

Есть ли какая-нибудь книга, предлагающая некоторую теорию на этот счет?Эффективный интерфейс?

1 Ответ

1 голос
/ 12 апреля 2011

Вы спрашиваете о книгах, связанных с теорией этого. Теория является одной из отделения логики представления от бизнес-логики или разделения интересов. Это происходит под многими именами, такими как модель / вид / контроллер, модель / вид / презентатор и многие другие, и существует множество книг на эту тему.

Если вы разрабатываете приложение таким образом, уровень представления (т. Е. Пользовательский интерфейс) представляет собой отдельный объект, который можно заменить другим. Таким образом, вы можете иметь графический интерфейс пользователя, а также текстовый. Можно утверждать, что в идеальном мире все приложения будут работать таким образом, с настольным пользовательским интерфейсом, веб-интерфейсом, интерфейсом командной строки и так далее.

Однако все это обходится дорого. Разработать приложения таким способом сложно, и из-за слабой связи между приложением и пользовательским интерфейсом могут быть потери производительности. Чтобы еще больше усугубить сложность, по сути сложно обеспечить богатый интерфейс командной строки для сложного приложения. Как бы вы пошли о создании ввода командной строки для Adobe Photoshop или Microsoft Excel, например?

Таким образом, хотя это возможно в теоретическом смысле, с практической точки зрения это становится все труднее по мере повышения сложности пользовательского интерфейса. Однако есть много приложений, которые могут это сделать. Например, многие системы контроля версий, такие как BitKeeper, AccuRev и другие, имеют как командную строку, так и графические интерфейсы.

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

...