2011-04-12 16 views
1

我能否假設每個強大的應用程序都會提供命令行/腳本輸入?命令行和UI小部件的協作

即使在當前軟件中有許多很多花哨的小部件,但我仍然認爲現在UI中的命令行輸入模式仍然是必需的,因爲命令行/腳本輸入更直接和簡潔。如果應用程序可以提供更多的特定於域的腳本語言,那將更加強大。

有沒有一些書就此提供一些理論?有效的UI?

回答

1

你問關於這個理論的書籍。該理論是將表示邏輯與業務邏輯分離或關注點分離的理論之一。這有很多名字,比如模型/視圖/控制器,模型/視圖/主持人等等,並且有很多這方面的書籍。

如果以這種方式設計應用程序,則表示層(即:用戶界面)是可以被另一個替換的獨立實體。因此,你可以有一個圖形用戶界面以及一個文本界面。可以說,在一個完美的世界中,所有的應用程序都可以這樣工作,包括桌面用戶界面,網絡用戶界面,命令行用戶界面等。

然而,這一切都需要很高的成本。以這種方式設計應用程序很困難,而且由於應用程序和UI之間的鬆散耦合,可能會導致性能損失。爲了進一步增加難度,爲複雜的應用程序提供豐富的命令行界面本質上是困難的。例如,如何創建命令行輸入到Adobe Photoshop或Microsoft Excel?

所以儘管理論上可能,但從實際意義上講,隨着UI複雜性的提高,它變得更加困難。但是,有許多應用程序能夠完成此任務。例如,許多版本控制系統(如BitKeeper,AccuRev等)都具有命令行和圖形界面。

所以,是的,有可能大多數應用程序可能會同時實現圖形用戶界面和命令行用戶界面,並且確實有一些應用程序會這樣做,期望所有應用程序都可以或甚至可以這樣做是不合理的。

+0

你能推薦一本關於此的書嗎? – giggle 2011-04-12 15:49:03

+0

Microsoft Excel提供了可在腳本中使用的對象模型,例如在Python,VBA中。在這個意義上,Excel提供了一個強大的CLI。 – jfs 2011-04-12 16:56:47