5.3.3 UserData优化
查询函数里面有两个查询函数(或许现在是三个了),有部分代码是一样的,它们其实分成两部分:
1.执行sql
2.处理结果
第2部分是完全一样,只是最开始的sql不一样,这样的代码是应该优化的,原则就是:当多个地方需要使用相同代码的时候,尽量避免拷贝代码,而是用函数。
首先我们把第2部分抽象成一个函数,如图所示,就是蓝色部分,只要是按sql查询,然后结果是若干个User的,都是同样的逻辑:
把第2部分抽象成一个函数,我们可以使用eclipse的工具,在蓝色代码处右键点击,选择Refactor(重构),然后选择Extract Method(提取函数)
弹出框如图所示,取个函数名字为query(查询):
然后点击确定,我们会发现,原来的findUsersByRole已经变成了这样,它分成了两个函数:
好了,现在可以用query函数,取代findUsersBykeyword的第二部分了,尝试做一下。