我将在Python中编写一些HTTP(REST)客户端。这将是一个没有gui的命令行界面工具。我不使用任何业务逻辑对象,没有数据库,只使用API与服务器通信(使用Curl)。除了模型视图控制器之外,你会推荐一些这样的架构模式吗?
注意:我不是要求设计模式,如命令或策略。我只是想知道如何隔离和解耦抽象层。
我认为使用MVC对于没有业务逻辑这一事实毫无意义 - 如果我错了,请纠正我。请给我你的建议!
您是否知道维护良好且代码干净的CLI项目(使用任何语言,不一定是Python)的任何示例?
干杯
答案 0 :(得分:0)
由于您的应用不是很复杂,我在这里看到2层:
ServerClient
:它为远程调用提供API并隐藏任何详细信息。它知道如何访问HTTP服务器,提供身份验证,处理错误等。它有像do_something_good()
这样的方法,任何人都可以调用它,如果是远程方法则不关心。
CommandLine
:它使用optparse
(或argparse
)来实现CLI,它可能支持历史记录等。此层使用ServerClient
来访问远程服务。
两个层都不知道彼此之间的任何事情(只有像已知方法列表这样的协议)。它将允许您使用somethign而不是HTTP Rest,CLI仍然可以工作。或者您可以使用批处理文件更改CLI,HTTP应该可以正常工作。