我正在开发一个处理发票的桌面 GUI (Qt+Python) 应用程序。到目前为止,我得到了 2 种对象:
描述发票、产品、客户(即模型)的 ORM 类。
允许浏览\编辑模型的视图。
每个模型可以有多个视图。
我得到了这些类型的代码:
- 初始化模型的代码(“创建新发票时,发票日期应为今天”)
- 对视图中的用户更改做出反应的代码(“选择客户后,设置适当的价格水平并重新计算所有价格和金额”)
- 即时进行明显验证的代码(“发票日期不能为空!必须选择产品!”)
- 根据业务规则验证发票的代码(“产品没有库存”、“销售额超过客户信用”)。
所以问题是——我应该选择哪种设计模式?目的是避免代码重复并允许对模型和视图进行快速更改。到目前为止,我一直在考虑简单的模型视图方法,其中 1&4 属于模型本身。但是 2&3 让我停下来。我应该使用 MVC 并将 2&3 放入控制器吗?有什么想法吗?谢谢!