我很好奇读取文件然后处理文件的每一行的最佳方法。假设需要读取的资源可以增大(例如,非常大的文件),并且可以使用不同的实现(例如,读取xml源而不是包含字符串的文件)来交换文件的读取和处理。请考虑以下方法:
创建2项服务。第一个服务用于从文件中提取数据并返回列表。第二个服务获取列表并通过它迭代以处理每个项目。这种方法的优点在于它遵循SRP并使其可以切换服务(例如,从XML JSON等不同来源获取数据)。唯一可以想到的是,再次通过集合迭代(第一次是阅读然后放入集合)进行处理时的性能损失。
只有一项服务可以执行这两项任务。这样你就可以在初始循环中进行处理。权衡取决于读取和处理功能之间的耦合,这打破了SRP。
如果您对如何实现这一点有其他建议,欢迎所有想法! TYIA !!!
我想从这个问题中拿走的另一件事是伟大的设计师和开发人员(来自这个网站的人员)如何为这个案例做出决定:为什么你会为另一个获得一个利益?权衡时的最佳做法是什么?什么是可以接受的交易,为什么?等等。再次感谢!