0

我將在Python中編寫一些HTTP(REST)客戶端。這將是一個沒有GUI的命令行界面工具。我不會使用任何業務邏輯對象,也不會使用數據庫,只是使用API​​與服務器通信(使用Curl)。除了模型視圖控制器之外,您會推薦我使用一些架構模式嗎?CLI工具的架構模式

注意:我不是要求像Command或Strategy這樣的設計模式。我只想知道如何分離和分離抽象層。

我認爲使用MVC對於沒有業務邏輯的事實是毫無意義的 - 請糾正我,如果我錯了。請給我你的建議!

你知道CLI項目的任何例子嗎(用任何語言,不一定是Python),它們都是維護良好並且代碼乾淨的嗎?

乾杯

回答

0

由於您的應用程序是不是很複雜,我看到2層的位置:

  • ServerClient:它進行遠程調用提供API並隱藏任何細節。它知道如何訪問HTTP服務器,提供身份驗證,處理錯誤等。它有像do_something_good()這樣的方法,任何人都可以調用,不關心它是否是遠程方法。

  • CommandLine:它使用optparse(或​​)實施CLI,其可以支持歷史等。該層使用ServerClient訪問遠程服務。

兩層都不知道任何關於彼此(只有協議像已知方法列表)。它將允許您使用somethign而不是HTTP Rest並且CLI仍然可以工作。或者你可以用批處理文件改變CLI,HTTP應該可以工作。