加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 最好在Factory类的内部或外部有一个缓存机制?

发布时间:2020-12-15 03:02:20 所属栏目:Java 来源:网络整理
导读:我的问题不是严格的语言相关,它更像是一般的编程概念. 如果我有一个具有返回Parser对象的方法的Factory类,以及这些解析器类,我知道,每个迭代周期不需要多次实例化(当然,在工厂之外). 在使用和对象分离方面,最好为Factory内部的所有实例化的Parser创建一个缓
我的问题不是严格的语言相关,它更像是一般的编程概念.

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

在使用和对象分离方面,最好为Factory内部的所有实例化的Parser创建一个缓存机制,即:在方法调用期间,或者在方法调用之外,当方法已被调用时?

提前致谢.

解决方法

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

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

再一次 – 如果你创建了在工厂外运行的缓存机制,那么这些机制将遍布你的代码,因为你必须在每次想要获得新的Parser时使用它们.如果您稍后决定更改缓存机制,则必须触及大量代码,但如果您在Factory中执行缓存,则只需更改Factory实现.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读