微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

我的问题不是严格的语言相关,它更像是一般的编程概念.

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

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

提前致谢.

解决方法

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

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

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

原文地址:https://www.jb51.cc/java/128588.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐