可插拔通信模块的设计模式
我正在设计我的应用程序,使其具有多个插件,这些插件将提供不同的通信方法,例如蓝牙、TCP、UDP、XMPP 等。
目前,我在项目中包含了其中一些通信方法。我使用简单的 switch case 以肮脏的方式调用其中一个方法。
你能给我推荐一些我可以在这里应用的设计模式吗?
先感谢您! :)
I am designing my application to have several plugins that will provide different communication methods such as Bluetooth, TCP, UDP, XMPP, etc.
At the moment I have some of those communication methods included inside of the project. And I call one of those methods in a dirty way using simple switch cases.
Can you recommend me some design patterns I could apply here?
Thank you in advance! :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
输入策略设计模式。
基本上,您有一个“上下文”类,需要根据场景以不同的方式执行操作。
您创建一个抽象策略(在本例中是 Java 接口),定义具体策略应实现的方法。您使用插件来实现该接口,并在第一个 switch 语句中创建正确的具体实例。
如果您需要加载它们运行时,您可以使用
Class.forName
Enter Strategy design pattern.
Basically you have a "context" class which needs to perform an action in different ways depending on the scenario.
Your create an abstract strategy ( or a Java interface in this case ) defining the methods that concrete strategies should implement. You get your plugins to implement that interface, and in your first switch statement you create the correct concrete instance.
If you need to load them at runtime, you could use
Class.forName
我想到了策略模式。
The strategy pattern comes to mind.