我的问题与严格的语言无关,它更多的是一个通用的编程概念。
如果我有一个 Factory 类,它有一个返回 Parser 对象的方法,并且我知道这些解析器类不需要在每个迭代周期实例化一次以上(当然,在工厂之外)。
就使用和对象分离而言,最好为工厂内部的所有实例化解析器创建缓存机制,即:在方法调用期间,还是在方法调用之外,当方法已经被调用时?
提前致谢。
也许你可以为你的应用程序定义一个接口Factory
,然后有多个实现 - 一个实现可以在内部执行缓存以保证Parser
类仅实例化一次。另一种实现可以不执行缓存,只提供新的Parser
每当有事情需要时就会反对。
不管怎样,我建议你试着把这个逻辑保留在你的内心深处。Factory
实现并使应用程序的其余部分与Factory
界面。这样,如果您稍后决定不想缓存任何内容或者需要更改缓存的方式Parser
被实例化后,您只有一个对象创建点 - 在Factory
。这使得改变构建方式变得非常容易Parser
对象,而不必更改应用程序中需要新对象的每个部分Parser
.
再说一次 - 如果您创建缓存机制以在外部运行Factory
,那么这些机制将遍及您的代码,因为每当您想要获得新的时,您都必须使用它们Parser
。如果您稍后决定更改缓存机制,您将不得不接触大量代码,但如果您在Factory
,你只需要改变Factory
执行。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)