gpt4 book ai didi

java - 在工厂类内部或外部有一个缓存机制更好吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:20:06 27 4
gpt4 key购买 nike

我这里的问题与语言无关,它更像是一个通用的编程概念。

如果我有一个 Factory 类,它有一个返回 Parser 对象的方法,我知道这些解析器类在每个迭代周期中不需要被实例化多次(当然是在工厂之外)。

就使用和对象分离而言,最好在工厂内部为所有实例化的解析器创建缓存机制,即:在方法调用期间,或者在方法调用之外,当方法已经被调用时?

提前致谢。

最佳答案

也许你可以为你的Factory定义一个接口(interface),然后有多个实现——一个实现可以在内部执行缓存以保证一个Parser类只被实例化一次.另一种实现可以不执行缓存,只要有需要就提供新的 Parser 对象。

无论哪种方式,我建议您尝试将此逻辑保留在您的 Factory 实现中,并让您的应用程序的其余部分使用 Factory 接口(interface)。这样,如果您稍后决定不想缓存任何内容或需要更改实例化 Parser 的方式,您只有一个对象创建点 - 在 中工厂。这使得更改构造 Parser 对象的方式变得非常容易,而无需更改应用程序中需要新 Parser 的每个部分。

再一次 - 如果您创建缓存机制以在 Factory 之外运行,那么这些机制将遍布您的代码,因为无论何时您想要获得新的 都必须使用它们解析器。如果您稍后决定更改缓存机制,您将不得不接触大量代码,但如果您在 Factory 内部进行缓存,则只需更改 Factory 实现。

关于java - 在工厂类内部或外部有一个缓存机制更好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889494/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com