Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 配置文件和可插入代码都是插件架构的答案吗?_Design Patterns_Pluggable - Fatal编程技术网

Design patterns 配置文件和可插入代码都是插件架构的答案吗?

Design patterns 配置文件和可插入代码都是插件架构的答案吗?,design-patterns,pluggable,Design Patterns,Pluggable,我一直在想。好的,我理解为什么我想要可插拔(或者至少是扩展的概念,给我的程序带来额外的生命/功能)。我也理解它是如何与代码一起工作的,如何做到这一点 我不明白的是为什么我不使用xml文件或其他配置文件?是否可以通过使用配置文件创建“可插拔”体系结构或延长应用程序的使用寿命?这是否使您的应用程序可插拔 或者,可插拔仅仅意味着可以编写代码来扩展应用程序的应用程序吗 这仅仅取决于我的应用程序需要什么吗?我想“可插入性”有几个级别 例如,JavaEclipseIDE构建在一个可插拔的体系结构中,在这个体

我一直在想。好的,我理解为什么我想要可插拔(或者至少是扩展的概念,给我的程序带来额外的生命/功能)。我也理解它是如何与代码一起工作的,如何做到这一点

我不明白的是为什么我不使用xml文件或其他配置文件?是否可以通过使用配置文件创建“可插拔”体系结构或延长应用程序的使用寿命?这是否使您的应用程序可插拔

或者,可插拔仅仅意味着可以编写代码来扩展应用程序的应用程序吗


这仅仅取决于我的应用程序需要什么吗?

我想“可插入性”有几个级别

例如,JavaEclipseIDE构建在一个可插拔的体系结构中,在这个体系结构中,您可以下载库并添加到正在运行的平台,而无需重新启动它。这意味着一些使用OSGi的动态类加载地狱

另一方面,您可能有一些简单的应用程序,它将一些功能委托给一些简单的DSL脚本,您可以在执行过程中向系统添加/编辑/删除这些脚本,这可能非常有效,并且相对容易实现

可插拔可能是一种策略,就像你提供了一个平台,在这个平台上你可以添加一些第三方组件,以一种你自己无法做到的方式来增强它,就像Firefox和Chrome一样

我认为“插件”就像平台的“功能扩展”。如果您的平台是eclipse、firefox、jenkins(您的应用程序),则由您决定

相关的: