gpt4 book ai didi

model-view-controller - 如何为同一资源组合插件?

转载 作者:行者123 更新时间:2023-12-02 01:31:39 24 4
gpt4 key购买 nike

我在一个项目的逻辑架构中工作,该项目从用户那里接收一些信息并对其进行处理。其中一项要求是为外部开发人员公开接口(interface)以添加更多功能。至此我提出了一个MVC 2层架构,其中View和Controller运行在用户的机器上,而Model托管在一个应用服务器上并被远程调用。对功能的要求建议我使用插件模式。

在处理信息时可能会执行用户选择的其他步骤,因此我想将它们建模为应用程序发布时已经存在的插件。这意味着这个插件会影响相同的资源(处理流程),我不确定在启用两个插件时如何处理这个问题。

因为我不像其他模式那样熟悉插件模式,所以在提问之前我所做的阅读让我尝试了类似于抽象工厂模式的东西。问题是,当启用两个或多个插件时,我将需要多重继承。我还想到了 Builder 模式来分别对处理步骤进行建模,但是必须定义插件之间的顺序,这会影响插件开发人员的独立性。

最佳答案

如果我没理解错的话,您希望能够使用多个独立的插件来扩展相同的变体点。如果是这样,pipes and filters pattern是一种适当的机制

使用这种方法,插件代表过滤器,您可以设计一个插件容器来加载然后链接它们。如果没有为给定的变化点加载插件,那么您要么将变化点短路,要么提供某种形式的默认过滤器。

此外,为插件提供一种机制来指定它们在过滤器链中的位置会很有帮助,因此在设计插件界面时请考虑这一点。

关于model-view-controller - 如何为同一资源组合插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33815559/

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