Python CLI工具的体系结构模式
我将用Python编写一些HTTP(REST)客户机。这将是一个没有gui的命令行界面工具。我不使用任何业务逻辑对象,不使用数据库,只使用API与服务器通信(使用Curl)。除了模型-视图-控制器之外,您能推荐我一些架构模式来实现这一点吗 注意:我并不是要求像命令或策略这样的设计模式。我只是想知道如何分离和解耦抽象层 我认为使用MVC是毫无意义的,因为它没有业务逻辑——如果我错了,请纠正我。请给我你的建议 您知道任何维护良好且代码干净的CLI项目(使用任何语言,不一定使用Python)的示例吗Python CLI工具的体系结构模式,python,design-patterns,command-line-interface,restful-architecture,n-tier-architecture,Python,Design Patterns,Command Line Interface,Restful Architecture,N Tier Architecture,我将用Python编写一些HTTP(REST)客户机。这将是一个没有gui的命令行界面工具。我不使用任何业务逻辑对象,不使用数据库,只使用API与服务器通信(使用Curl)。除了模型-视图-控制器之外,您能推荐我一些架构模式来实现这一点吗 注意:我并不是要求像命令或策略这样的设计模式。我只是想知道如何分离和解耦抽象层 我认为使用MVC是毫无意义的,因为它没有业务逻辑——如果我错了,请纠正我。请给我你的建议 您知道任何维护良好且代码干净的CLI项目(使用任何语言,不一定使用Python)的示例吗
干杯因为你的应用程序不是很复杂,我在这里看到了两层:
:它为远程调用提供API并隐藏任何细节。它知道如何访问HTTP服务器、提供身份验证、处理错误等。它有一些方法,如ServerClient
,任何人都可以调用这些方法,而不管它是否是远程方法do\u something\u good()
:它使用CommandLine
(或optpasse
)实现CLI,它可能支持历史记录等。该层使用argparse
访问远程服务ServerClient