Python:如何实现MVC。是不是太过分了?甚至可能?

2024-04-19 11:38:55 发布

您现在位置:Python中文网/ 问答频道 /正文

在一个桌面应用程序中,我正在为城市开发一个模型。在

class City(object):

    def __init__(self, name, population):
        self._name = name
        self._population = population

我想实现一个edit方法来改变它的私有属性。其思想是打开一个带有文本输入字段的窗口,以便用户可以编写新值。为了使其可测试和解耦,我这样做了:

^{pr2}$

现在的问题是:

  • 询问信息的对话框,是视图,对吗?这就引出了下一个问题
  • 如果我有一个观点,我认为我应该进一步考虑实现一个控制器。那么,如何在这里实现MVC呢?

我的想法是有三个类(M-V-C),每次我引用我的“城市概念”时,我都会引用模型,但视图和控制器也是如此。控制器变成了一个“城市”的公共界面这听起来有点过分复杂。在

我觉得我误解了真正的MVC模式是因为web编程。在


Tags: name模型self视图应用程序cityobjectinit
1条回答
网友
1楼 · 发布于 2024-04-19 11:38:55

-更新
正如特瑞科所说,控制器不能从模型中读取数据。维基百科定义的关系http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller


您的class City是模型,对话框是视图,那么什么是控制器。在

我想你需要另一个类来处理“模型编辑”。在

控制器提供的所有对话数据,请远离class city。在

我试图用数据流来描述我的观点。在

启动,显示窗口(对话框?)
查看->;(获取数据)控制器->;(读取属性)模型
查看<;-Controller<;-Model(返回数据)

您想要修改数据
查看->;(将修改的数据发送到)控制器->;(更新模型数据)->模型
查看<;-Controller<;-Model(对话框显示已更新)

相关问题 更多 >