- 时间:2022-08-25 01:12 编辑: 来源: 阅读:272
- 扫一扫,手机访问
摘要:听说你还不了解Java的服务定位器模式?
{电影网站源码}
1概述当您想使用JNDI查询来定位各种服务时,可以考虑这种模式。 因为为服务寻找JNDI的成本很高,所以服务定位器模式(以下简称SLP)充分利用了缓存技术。 第一次请求服务时,服务定位器在JNDI中查找服务并缓存服务对象。 当再次请求相同的服务时,服务定位器将在其缓存中查找它,这可以大大提高应用程序的性能。 2构成服务(Service)实际解决请求的服务。 可以在JNDI服务器中找到对该服务的引用。Context/初始ContextJNDI上下文引用了要查找的服务。服务定位器是通过JNDI查找和缓存服务对单点联系缓存存储服务的引用,因此可以重复使用。客户端是通过ServiceLocator调用服务的对象。 示例UML图设计图像我们将创建ServiceLocator、InitialContext、Cache和Service作为表示实体的各种对象。 服务1和服务2代表实体服务。 ServiceLocatorPatternDemo,我们的演示类在这里作为一个客户端,将使用ServiceLocator来演示服务定位器设计模式。 服务定位器模式的UML图3.1服务接口Serviceimage3.2实体服务imageimage前两个主要反映接口之间的多态性并指定行为。 3.3为JNDI查询创建InitialContext工厂模式的应用,确定类名要实例化的对象。 3.4创建Cache cache对实体类的集合进行操作,主要是获取/添加集合中的实体类对象。 3.5创建服务定位器使用步骤3创建实例,步骤4将实例添加到集合中,或者从集合中获取实例。 图3.6测试使用ServiceLocator来演示服务定位器设计模式。 调用步骤5获取实体类并执行实体类的方法。 图片完整源代码案例请参考编号:wasabi 1234/Java-design patterns-textbook/tree/master/src/main/Java/com/javaedge/design/pattern/javaee/service locator。