Python可以做工厂方法设计模式吗?

2024-09-24 02:28:39 发布

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

我在C中使用了函数指针数组。指针可随机访问并用于调用其指向功能,该功能在WS2812B LED条中运行独特的动画光模式。[使用ADAFruit Neopix库]。但是,我想OOP把它升级[对我来说,'因为OOP使设计新动画更容易]

我尝试了C++,但是已经几十年了,所以我已经生锈了。这将我置于一个nexus——我是重新学习C++,还是以此作为最终学习Python的激励

这就是为什么。以下是您的想法:

由于这在内存不足的MCU环境中运行,我希望动画例程只占用所需的内存,然后在完成后,释放该内存。所以,我想避免这样的事情:实例化一堆动画对象,然后将它们加载到数组中,以便随机索引。这将一次用所有动画对象所需的内存总和填充堆/堆栈,这将对MCU中可能存在的动画数量造成更大的限制[特别是因为RAM的供应量通常比ROM/PROM要少]

不,我想用更像指向“实例化”函数的指针来填充该数组,调用该函数时,实例化一个选定的动画对象。然后,当该动画完成时,执行“删除”/“刺激析构函数”等操作,以便完全清除内存[即,无内存泄漏]

我的C++实现充满了内存泄漏[C++中没有内存管理]——不过,比我开始时少得多,所以我正在变得更好[Montynod,有一点]

所以。。。我是继续追求恢复我的C++辉煌[我曾经是一名“专家”],还是放弃C++,开始学习Python?唯一的转折点是:PYTHON能完成这项工作吗

好的,另一个转折点可能是我喜欢操作符重载

<强> BTW:<强>我目前使用的MCU是<>强> SeaDetudioStudio <>,这是一个快速的、铁的小家伙,所以即使Python比C++更具“E>Time>EEM>”(因为额外的开销),没有烦恼[很大吗?]p>


Tags: 对象实例函数内存功能led动画数组