0

我有一个使用 API 的 Java 系统。几天前,我们开始面临以下问题:远程 API 从我的系统接收到太多请求。回到系统的早期,这不是一个主要问题,但是系统的性能一点一点地变得越来越差,因为我的数据在增长并且我对每个实体都发出了多个请求。我注意到我发出的许多网络请求并不是真正必要的,因为数据更新并不频繁。所以,我实现了一个类,当我的系统启动时,会过度加载所有远程 API 数据。当我创建/更新一个实体时,我会在发出任何请求之前加载它。我相应地对待删除。并且远程 API 还会在进行任何更改时通知我,因此即使在我的系统之外进行了更改,我也可以保持更新。

我真正想知道的是:这种做法有什么名字吗?任何已知的设计模式?我必须说我做了一些研究,我认为这是一种代理模式,但我也不太确定(事实上,大多数设计模式看起来都非常相似),我也不是很确定进入设计模式。

4

2 回答 2

1

我将其称为您实现的缓存系统。不过不确定是否有设计模式。

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

于 2012-03-20T16:43:20.133 回答
0

它不是一个代理模式,因为代理模式更多地属于“延迟加载”的标题。根据Design Patterns (Group of Four Book) 中指定的代理模式的描述 :

控制对对象的访问的一个原因是将其创建和初始化的全部成本推迟到我们真正需要使用它之前

除了过度渴望加载之外,我不确定你会怎么称呼它

于 2012-03-20T16:34:13.220 回答