【发布时间】:2010-01-11 20:24:09
【问题描述】:
我多次遇到这个设计问题,想知道是否有一个通用的 OOP 设计模式可以解决这个问题。
设计问题:我需要实现一个类来表示可以变得非常大的对象集合。出于性能原因,当用户浏览数据时,表示层将在单个页面中显示数据,一次只请求一小部分对象。理想情况下,该对象还可以根据需要选择性地查询数据库,而不是将所有内容预加载到内存中,因为对于非常大的集合,客户端/用户很可能永远不会请求集合中的所有数据。
我已经通过多种方式实现了这一点,但没有一种感觉非常模块化、干净,或者具有真正直观的界面。
是否存在用于实现对象的通用 OOP 设计模式,该模式允许客户端一次提取一页数据,并且仅根据需要从数据层查询数据?
【问题讨论】:
-
听起来你想要一个迭代器变体。
标签: design-patterns oop paging