gpt4 book ai didi

language-agnostic - 实现插件系统有哪些不同的方法?

转载 作者:行者123 更新时间:2023-12-04 09:00:38 24 4
gpt4 key购买 nike

我不是在寻找针对特定语言的答案,只是在寻找实现插件系统的通用模型(如果你想知道,我正在使用 Python)。我有自己的想法(注册回调,仅此而已),但我知道其他人存在。什么是通常使用的,还有什么是合理的?

What do you mean by a plugin system? Does Dependency Injection and IOC containers sounds like a good solution?



我的意思是,嗯,是一种在不改 rebase 础程序的情况下将功能插入到基础程序中的方法。出发的时候,我并没有打算定义它。依赖注入(inject)看起来并不特别适合我正在做的事情,但我对它们了解不多。

最佳答案

一个简单的插件架构可以定义一个插件接口(interface),其中包含插件应该实现的所有方法。该插件处理来自应用程序的事件,并且可以使用应用程序的标准代码、模型对象等来完成工作。基本上与 ASP.NET 表单相同,只是您是重写而不是实现。

没有人教我这部分,我也不是专家,但我觉得:一般来说插件会不如它的应用程序稳定,所以应用程序应该始终处于控制之中,只给插件周期性的行动机会。如果插件可以注册观察者,则应尝试/捕获对委托(delegate)的调用。

关于language-agnostic - 实现插件系统有哪些不同的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/99497/

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