gpt4 book ai didi

python - 保持类松散耦合并共享数据

转载 作者:行者123 更新时间:2023-11-30 22:35:45 24 4
gpt4 key购买 nike

我一直在 python 项目中工作,其中我有一个 GUI,我在类之间分配了一堆工作。我不知道很多在类之间传递数据的最佳实践,而且我经常遇到这个问题,我必须实现一些东西,或者改变一些东西来工作,并且我已经采取了很多方法另一个类的类对象,以便为其提供我需要的数据。

对于如何保持我的类独立以供以后修改并仍然传递相关数据而不过多影响接口(interface)的任何想法或建议将不胜感激?

举个例子

class Window():
def __init__(self, parent=None):
self.parent = parent
def doStuff(self):
#do work here

class ParseMyWork(Window):
def __init__(self, parent=None):
self.parent=parent

我经常发现自己在做类似上面的事情,将对象传递给类 Window或者简单地继承它们的所有内容,如 ParseMyWork

必须有更好、更干净的方式来传递数据,而不会使我的类完全相互依赖,其中一个小小的更改会产生级联效应,迫使我在一堆其他类中进行更改。

问题的任何答案不一定必须用 python 编写,但如果是的话将会很有帮助

最佳答案

如果我正确理解你的问题,我会说继承在你的情况下是不必要的。为什么不给 ParseMyWork 一个函数来处理特定的 Window 任务?

class Window():
def __init__(self, parent=None):
self.parent = parent

def doStuff(self):
#do work here

class ParseMyWork():
def __init__(self, parent=None):
self.parent=parent`

def doWindowActivity(self, window):
window.doStuff

然后你就可以像这样使用这个函数了

    work_parser = ParseMyWork()
window = Window()
work_parser.doWindowActivity(window);

这样您就可以将 work_parse 实例与任何窗口实例一起使用。

提前为我的 Python 道歉,已经有一段时间了,所以如果您发现任何菜鸟错误,请指出它们。

关于python - 保持类松散耦合并共享数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44422519/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com