猴子修补vs继承和覆盖Python

我正在编写一个实验性的GUI框架. GUI是通过组合组件(类似于小部件)构建的.有一些“原生”类组件.框架用户通过提供定义配置,绑定等的某些方法来专门化.这可以通过扩展本机类并重写其方法来完成,这很好,但许多派生类只会被实例化一次.或者,我可以提供一个工厂函数,它将采用本机类和专门化方法(函数,真的).此函数将实例化本机类并替换适当的方法.有理由偏爱另一种方法吗? 最佳答案 猴子补丁不是一个真正的设计模式,更像是一个过度使用的黑客导致意大利面条代码.

你可能想要的猴子补丁替代品是adaptersaspect-oriented programming.

点赞