Python中Monkey补丁与继承和重写

2024-09-27 07:29:41 发布

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

我正在写一个实验性的GUI框架。GUI是通过组合组件(类似于小部件)来构建的。有一些“本机”类的组件。框架用户专门提供定义配置、绑定等的特定方法。这可以通过扩展本机类并重写其方法来实现,这很好,但许多派生类只实例化一次。或者,我可以提供一个工厂函数,它将采用本机类和专门化方法(实际上是函数)。此函数将实例化本机类并替换适当的方法。有什么理由选择一种方法而不是另一种方法?在


Tags: 实例方法函数用户框架定义部件工厂
2条回答

python中大多数GUI工具包(wxpython、kivy、pyQT)所做的是继承方法。在

我想这两种方法都应该有效,但是使用继承对您的潜在用户来说会更加熟悉

你可能还想看看一个模板语言(比如kv-lang或html) 布局UI,因为这是一种现代方法

Monkey-patch并不是一个真正的设计模式,更像是一个被过度使用的黑客代码。在

您可能需要的是adapters或{a2}作为猴子修补的替代方案。在

相关问题 更多 >

    热门问题