Python 命令行和UI小部件的协作

Python 命令行和UI小部件的协作,python,user-interface,command-line,wxpython,user-input,Python,User Interface,Command Line,Wxpython,User Input,我是否可以假设每个功能强大的应用程序都会提供命令行/脚本输入 即使在当前的软件中有许多奇特的小部件,但我仍然认为UI中的命令行输入模式在今天仍然是必要的,因为命令行/脚本输入更加直接和整洁。若应用程序能够提供更多特定于域的脚本语言,那个将更加强大 有没有关于这方面的书提供一些理论?有效的用户界面?您询问与此理论相关的书籍。该理论是一种将表示逻辑与业务逻辑分离,或将关注点分离的理论。这有很多名字,比如model/view/controller、model/view/presenter,还有很多其他

我是否可以假设每个功能强大的应用程序都会提供命令行/脚本输入

即使在当前的软件中有许多奇特的小部件,但我仍然认为UI中的命令行输入模式在今天仍然是必要的,因为命令行/脚本输入更加直接和整洁。若应用程序能够提供更多特定于域的脚本语言,那个将更加强大


有没有关于这方面的书提供一些理论?有效的用户界面?

您询问与此理论相关的书籍。该理论是一种将表示逻辑与业务逻辑分离,或将关注点分离的理论。这有很多名字,比如model/view/controller、model/view/presenter,还有很多其他的名字,关于这个主题有很多书

如果以这种方式设计应用程序,则表示层(即:用户界面)是一个单独的实体,可以用另一个实体替换。因此,您可以拥有图形用户界面和文本用户界面。可以说,在一个完美的世界中,所有应用程序都会以这种方式工作,包括桌面UI、web UI、命令行UI等等

然而,这一切都要付出巨大的代价。以这种方式设计应用程序是很困难的,而且由于应用程序和UI之间的松散耦合,可能会导致性能下降。为了进一步增加难度,向复杂的应用程序提供丰富的命令行界面本身就很困难。例如,您将如何为Adobe photoshop或Microsoft Excel创建命令行输入

因此,虽然从理论上讲这是可能的,但从实践上讲,随着UI复杂性的增加,这变得更加困难。然而,有许多应用程序能够实现这一点。例如,许多版本控制系统,如BitKeeper、AccuRev和其他系统都有命令行和图形界面


因此,是的,大多数应用程序都可能同时实现图形用户界面和命令行用户界面,而且确实有少数应用程序可以实现,因此不可能期望所有应用程序都会实现,甚至可以实现

你问的是关于这个理论的书。该理论是一种将表示逻辑与业务逻辑分离,或将关注点分离的理论。这有很多名字,比如model/view/controller、model/view/presenter,还有很多其他的名字,关于这个主题有很多书

如果以这种方式设计应用程序,则表示层(即:用户界面)是一个单独的实体,可以用另一个实体替换。因此,您可以拥有图形用户界面和文本用户界面。可以说,在一个完美的世界中,所有应用程序都会以这种方式工作,包括桌面UI、web UI、命令行UI等等

然而,这一切都要付出巨大的代价。以这种方式设计应用程序是很困难的,而且由于应用程序和UI之间的松散耦合,可能会导致性能下降。为了进一步增加难度,向复杂的应用程序提供丰富的命令行界面本身就很困难。例如,您将如何为Adobe photoshop或Microsoft Excel创建命令行输入

因此,虽然从理论上讲这是可能的,但从实践上讲,随着UI复杂性的增加,这变得更加困难。然而,有许多应用程序能够实现这一点。例如,许多版本控制系统,如BitKeeper、AccuRev和其他系统都有命令行和图形界面


因此,是的,大多数应用程序都可能同时实现图形用户界面和命令行用户界面,而且确实有少数应用程序可以实现,因此不可能期望所有应用程序都会实现,甚至可以实现

你能推荐一本关于这方面的书吗?Microsoft Excel提供了可以在脚本中使用的对象模型,例如Python、VBA。从这个意义上说,Excel提供了一个强大的CLI。您能推荐一本关于这方面的书吗?Microsoft Excel提供了可以在脚本(例如Python、VBA)中使用的对象模型。从这个意义上讲,Excel提供了一个强大的CLI。