【问题标题】:Where do the Locator methods go when using a ServiceLocator?使用 ServiceLocator 时,Locator 方法在哪里?
【发布时间】:2024-01-16 22:03:01
【问题描述】:

如果我使用带有ServiceLocator 的单独服务类,我还需要在某处定义Locator 方法吗?:

T create(Class<? extends T> clazz)
I getId(T domainObject)
T find(Class<? extends T> clazz, I id)
Object getVersion(T domainObject)

他们上服务课吗?

【问题讨论】:

    标签: gwt requestfactory service-locator


    【解决方案1】:

    一般来说,这两种类型用于正交目的: A ServiceLocator 查找代码; Locator 查找实体。

    使用ServiceLocator 不会改变实体支持方法的声明位置。实体支持方法仍在域类型中搜索。

    【讨论】:

    • 还是一头雾水。我选择了 ServiceLocator 路线,因为我需要(通过 Guice)注入一个 MongoDB 引用以供我的持久性代码使用。但是我仍然需要在域类型上定义实体支持方法?那么那些实体支持方法应该如何使用我的MongoDB呢?
    • 您最终将使用 Locator 来注入域实体类型并处理 getId()/getVersion() 方法和 ServiceLocator 来配置服务对象。
    • 找到了一个说明这个概念的tutorial