0 0

业务层中管理Server的Server是干嘛用的5






图片要是看不到,请刷新尝试一下,因为实在找不到好的外链空间。。。

在业务层定义了2个Server

CatalogService

UserService

这两个都好理解,问题出在

servicelocator 这个server 上面

public interface ServiceLocator
Interface needs to be implemented by ServiceLocator.
ServiceLocator is used to lookup for business services.

Method Summary

getCatalogService()
          Get the CatalogService.
getUserService()
          Get the UserService.

我想问一下定义这个servicelocator有什么用处么?

比如
UserBean里面的loginAction()
调用还需要:
User user = this.serviceLocator.getUserService().login(this.username, this.password);

要是不要servicelocator的话 直接this.userservice.login(this.username, this.password);不是挺好的么?

你说要是为了以后的扩充用,可是里面定义的接口就两个

getCatalogService() 和 getUserService() 感觉完全没有用处啊。



问题补充:
====================补充========================

您好,您的意思我明白。

我是不是可以这样理解,如果使用了loc 这个Server也就没有存在的意义了,是这个样子的么?
要是这样的话,是使用loc好一些 还是手工编写这个Server好呢?

我看的是Put_JSF_ToWork 在他里面给出了一个ServiceLocator的impl 实现了

您说的那个方法

public Object lookupService(String serviceBeanName) {
return appContext.getBean(serviceBeanName);
}

按照这个函数,加入我添加了一个ServerA ,其中有一个方法B()

那我在调用的时候

A a = this.serviceLocator.lookupService(ServerA).####

那块####应该怎么写呢?



谢谢。
2008年7月11日 09:06

2个答案 按时间排序 按投票排序

0 0

采纳的答案

其实, 想法是好的, 就是统一管理获取具体功能类的方式.

假如说: UserService的实现是RMI的, 那么, 就可以将具体查找的逻辑隐藏在ServiceLocator里面了.

还有, 你说直接的this.userservice, 这样做的前提是你依旧要去找到这个userService实例. [或者由Ioc容器帮你注入了, 不用再自己做手动的查找.] 如果,你要手动查找, 最佳实践还是会统一由一个ServiceLocator去查找的.

2008年7月11日 09:20
0 0

还有, 如果我来设计这个ServiceLocator的话. 那它应该是下面这样的:
代码随手写的

public class ServiceLocator {
    public static T getService(Class<T> service) {
        // ...
    }
}


对外就提供一个getService方法, 而不是罗列那么多的get**方法.

2008年7月11日 09:24

相关推荐

    jmeter资源监控ServerAgent-2.2.3

    5. **安全与性能**:注意不要在生产环境中长时间运行压力测试,以免影响正常业务。同时,确保ServerAgent和JMeter之间的通信安全,避免敏感信息泄露。 总的来说,JMeter与ServerAgent结合使用,能够提供全面的性能...

    WAS中间件服务器介绍.docx

    - **Business Object Server(业务对象服务器)**:封装业务实体和操作的服务器,使业务逻辑易于管理和重用。 - **Navigator和Web Client**:用户界面,如Navigator(可能指的是IBM的Lotus Notes Navigator)和Web ...

    WebSphere was的概念

    管理员可以根据不同的业务需求和系统环境,对单元内的节点进行有效的定义和组织。在WebSphere WAS中,单元代表了最大的作用域,所有的配置数据都是以XML文件形式存储。单元保存了所有节点中每台服务器的主配置文件。...

    weblogic的介绍和使用

    - **业务层**:处理业务逻辑,通常使用 EJB 实现。 - **企业信息系统层**:负责与数据库和其他外部系统的交互。 #### 三、WebLogic 服务器 ##### 3.1 WebLogic 简介 WebLogic Server 是一个完整的 J2EE 应用程序...

    logcast-server:用于流式传输日志的 Web 套接字服务器

    “logcast-server”是用JavaScript编写的,这使得它能够在各种平台和环境中运行,包括Web服务器、Node.js环境等。JavaScript作为一门广泛使用的脚本语言,拥有丰富的库和框架支持,使得开发和维护这样的实时日志...

    AgileEAS.NET SOA 平台简易教程

    3. **AgileEAS.NET的SOA实现**:在AgileEAS.NET中,开发人员可以创建、管理和部署SOA服务。平台提供了服务注册、服务发现、服务版本控制和安全管理等机制,确保服务之间的有效通信。 4. **EasDemo项目**:EasDemo...

    一个介绍BIEE基本框架的PPT

    2. **建模和部署**:在信息模型中设计业务逻辑,然后部署到BI Server。 3. **用户交互**:用户通过仪表盘和报告与系统互动,进行数据分析和决策支持。 4. **性能优化**:BIEE支持缓存、索引等技术,以提高查询性能...

    News数据库

    4. **业务逻辑层(BLL)**:编写业务逻辑代码,定义新闻的增删改查操作,以及可能的业务规则,如新闻发布权限验证等。 5. **用户界面(UI)**:设计友好的用户界面,可能包括新闻列表、详情查看、搜索功能等。可以...

    customer.rar

    【标题】"customer.rar"所代表的项目是一个基于Java Web技术的实现,主要涉及了JSP(JavaServer Pages)和Servlet技术,用于构建一个具备基本数据操作功能的系统,包括增(Add)、删(Delete)、改(Update)和查...

    jtsl-1.2和standard-1.1.2 jar包

    在Java服务器端编程中,JSP(JavaServer Pages)是一种常用的动态网页技术,它允许开发者在HTML页面中嵌入Java代码来实现动态内容的生成。然而,为了扩展JSP的功能,有时我们需要引入额外的库,比如`jstl-1.2.jar`和...

    message_middleware:一个用于站内信息发送的消息中间件

    图中的“system server”和 “user client”代表使用消息系统的客户端方,它们代表了消息系统的数据生产者和数据消费者。 图中的中间部分是“Notifications”服务集群,每个Notifications服务为客户端提供2种服务:...

    智能吓数软件

    结合“ASP Creation”,我们可以猜测这可能是软件的开发平台或技术,ASP(Active Server Pages)是微软开发的一种服务器端脚本环境,用于动态生成Web页面。这可能意味着该软件基于ASP技术构建,提供了Web服务形式的...

    ESXi-8.0U2-22380479补丁和补丁的操作方法

    3. **准备更新环境**:将下载的补丁文件上传到能够访问ESXi主机的设备,比如vSphere Client或vCenter Server。或者,如果ESXi主机有本地存储或网络共享,可以直接将补丁文件拷贝到那里。 4. **应用补丁**: - **...

    家政服务系统,使用Mysql ,JAVAWEB

    这一系统的核心在于利用数据库管理系统MySQL进行数据存储和管理,结合JavaWeb技术实现用户交互界面和后台业务逻辑处理。 【描述】MySQL是一个流行的开源关系型数据库管理系统,具有高性能、高可靠性以及易于维护的...

    LoginApp:登录应用

    2. **MVC(Model-View-Controller)架构**:LoginApp很可能采用了MVC设计模式,这是一种常见的软件设计模式,用于分离应用程序的数据模型、用户界面和业务逻辑。Model负责数据处理,View负责显示,而Controller作为...

Global site tag (gtag.js) - Google Analytics