Design patterns 哪种设计模式与OSGi非常相似?
例如,如果我希望在我的应用程序中使用OSGi的好处(模块化、依赖注入等),而不使用OSGi,我将采用哪种设计模式?您提到的两种模式位于我的列表顶部:Design patterns 哪种设计模式与OSGi非常相似?,design-patterns,osgi,Design Patterns,Osgi,例如,如果我希望在我的应用程序中使用OSGi的好处(模块化、依赖注入等),而不使用OSGi,我将采用哪种设计模式?您提到的两种模式位于我的列表顶部: 模块化。您没有类装入器隔离的好处,因此您必须使用自己的约定来确保您不会“跨越”其他组件。如果您认为切换到OSGi是您项目的未来,那么您肯定希望避免Class.forName、Thread.getContextClassLoader等,因为它们在OSGi环境中不起作用 服务。您没有service registry的好处,service registr
OSGi的其余大部分内容是规范保证框架将为您做的事情(JVM单例、安全性、管理、动态性等),因此您可以自己做。也许最简单的方法是查看列表,看看你会错过什么。你提到的两个在我的列表顶部:
OSGi的其余大部分内容是规范保证框架将为您做的事情(JVM单例、安全性、管理、动态性等),因此您可以自己做。查看列表可能是最简单的方法,以查看您将缺少的内容。OSGI提供了很多现成的功能。如果您不想使用它,我仍然建议您使用某种框架,例如Spring Spring更容易设置,并且有一个依赖项注入容器。当然,您可以按照创建类的方式进行自己的依赖项注入。通常有两种方法可以做到这一点:构造函数注入,其中在对象创建时在构造函数参数中传递所需的类/对象;setter注入,其中类对每个依赖项都有setter。只需确保设置所有依赖项,否则对象可能处于无效状态 模块化可能意味着很多事情,这取决于您想要走多远。作为一般规则,针对接口编程将获得一定程度的模块化。使用众所周知的软件体系结构,如MVC和相关模式,将为您提供一些方法。OSGI使用白板模式与发布/订阅或侦听器模式,但两者都满足类似的需求。这两种模式都允许对象的广泛解耦
如果您发布了您想要实现的目标,我可以为您提供更多帮助。OSGI提供了很多开箱即用的功能。如果您不想使用它,我仍然建议您使用某种框架,例如Spring Spring更容易设置,并且有一个依赖项注入容器。当然,您可以按照创建类的方式进行自己的依赖项注入。通常有两种方法可以做到这一点:构造函数注入,其中在对象创建时在构造函数参数中传递所需的类/对象;setter注入,其中类对每个依赖项都有setter。只需确保设置所有依赖项,否则对象可能处于无效状态 模块化可能意味着很多事情,这取决于您想要走多远。作为一般规则,针对接口编程将获得一定程度的模块化。使用众所周知的软件体系结构,如MVC和相关模式,将为您提供一些方法。OSGI使用白板模式与发布/订阅或侦听器模式,但两者都满足类似的需求。这两种模式都允许对象的广泛解耦
如果您发布了您想要实现的目标,我可以为您提供更多帮助。这并不能真正回答问题。没有提到设计模式或方法。在我看来,模块的使用和服务注册中心的使用都是模式,我试图给出一些不在OSGi环境中运行时的基本建议。OP没有给出太多细节,但我的答案大概是被要求的细节……这并不能真正回答问题。没有提到设计模式或方法。在我看来,模块的使用和服务注册中心的使用都是模式,我试图给出一些不在OSGi环境中运行时的基本建议。OP没有给出太多细节,但我的回答大概是要求的细节。。。