我正在编写的应用程序的某些模块为用户提供了过滤数据集并对结果进行分页的选项。
在让一切按预期工作后,我正在尝试重构代码以删除代码重复。
上述每个模块都共享相同的过滤和分页逻辑。
我想知道为了消除这种重复,最好遵循哪种做法。
到目前为止,我正在考虑使用以下 API 创建一个“过滤器和分页”服务:
- Paginate(items,predicate,itemsPerPage) 返回一个对象:{ paginatedItems nrOfPages }
集合中传递的每个项目都会调用谓词,它用于根据用户偏好选择项目。
现在每个模块都可以利用该 API。
有没有更好的推荐方法?
在此先感谢您的帮助