这个过度渴望的加载器对象是代理模式实现的一个例子吗?

时间:2012-03-20 14:53:32

标签: java design-patterns proxy-pattern

我有一个使用API​​的Java系统。几天前,我们开始面临以下问题:远程API从我的系统收到太多请求。回到系统的早期阶段,这不是一个主要的问题,但是系统的性能越来越差,越来越糟,因为我的数据在增长,我为每个实体提出了多个请求。我注意到我提出的许多网络请求都不是必需的,因为数据没有经常更新。因此,我实现了一个类,当我的系统启动时,它会生成所有远程API数据的over-eager loading。当我创建/更新实体时,我会在发出任何请求之前加载它。我相应地对待删除。远程API也会在发生任何更改时通知我,因此即使在我的系统之外进行此更改,我也可以保持更新。

我真正想知道的是:这种做法有没有名字?任何已知的设计模式 ?我必须说我做了一点研究,我认为它是一个proxy pattern,但是,我不太确定(实际上,大多数设计模式看起来非常相似),我不是真的很重要的设计模式。

2 个答案:

答案 0 :(得分:1)

我将其称为缓存系统,以实现您的目标。不确定是否存在dessign模式。

此外,远程API在进行任何更改时通知您的事实可能是使用观察者模式完成的。

答案 1 :(得分:0)

这不是一个代理模式,因为代理模式在“延迟加载”的标题下更多。从中指定的代理模式的描述 Design Patterns (Group of Four Book):

  

控制对象访问的一个原因是推迟完整   它的创建和初始化成本,直到我们真正需要使用   它

除了过度加载

之外,我不确定你称之为什么