【python上位机开发】3、MVC架构和常见问题

 1、什么是MVC架构?这个架构有什么好处?

上位机的开发我采用mvc的架构,该架构的优点是逻辑相对清晰,也方便后期维护。MVC 模式代表 Model-View-Controller(模型-视图-控制器) 模式。这种模式用于应用程序的分层开发。(注:解释来自菜鸟教程MVC 模式 | 菜鸟教程)。大概逻辑是这样,前端页面view点击事件,提出请求,后端控制器controller,调用相关的业务代码model,再将最后的结果分别写入model和view的显示。这么说可能会有一些抽象,我们可以更加的具体一些。就拿这个上位机的项目来说,例如:

  1、页面点击一个“查询”按钮  -- view页面事件提交

  2、控制器查询对应的文件是否存在该字段 --- 控制器操作配置文件代码(后端控制器controller,调用相关的业务代码model)

 3、字段存在就返回一个true,并且前端页面弹出一个结果弹窗 --- view的显示

上述就是一个大概的过程,框架搭建好了之后,后续要添加什么功能的话,就直接遵循这样的逻辑去添加就可以了 代码会更加的简洁,架构更加清晰。会非常优雅,当然,我现在也是在学习阶段,希望可以和大家共同进步。

2、常见的问题

   2.1 重复引用

    MVC架构在python的常见问题有一个是重复引用。由于采用该架构需要分成好多不同的包,但是主要控制器又只能一个(ps:记住这个,后面会说到),就会出现在A包调用了B,又在B当中调用了A,这样的问题,就会导致程序出错。

   目前我没有可以找到更好的解决办法,所以虽然采用MVC架构开发该软件,但是我将对应的业务文件都放在同一个包下,分了不同的.py文件去解决这个问题,通过不同的命名去区分。

2.2 主控制器唯一

    主控制器的话,有且只能有一个。

    主控制器的话,有且只能有一个。

    主控制器的话,有且只能有一个。

    重要的事情讲三遍。主控器唯一,可以确保所有的业务和逻辑统一由主控器调配,不会出现重复new的情况。子控制器,也就是各个功能模块的控制器,在构造函数当中都需要传入一个主控制器,用于接管和控制相关的业务,子控制器的存在是为了更加清晰程序架构,利于后期维护,可以更加通俗的理解为“归档”一样的概念。但是,这样也会引发一个问题,由于传入的主控制器,在程序跑起来之前,是一个空值的变量,所以在写程序的时候,会导致无法直接调用到主控制器的相关方法等,所以更加考验个人的细心,需要手打方法了。

3、结语

  以上是个人的些许拙见和理解,有什么错误的地方,还请大家指出,共同进步。下一章,更新信号和槽的相关机制。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

重生之我在厦门做测试

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值