我已经运行过这个设计问题很多次,并想知道是否有一个通用的OOP设计模式来解决它。是否有一个常见的设计模式可以使集合类成为可翻页的?
设计问题:我需要实现一个类,它表示可以变得非常大的对象集合。出于性能原因,表示层将在用户浏览数据时一次在单个页面中呈现数据,一次只请求一小部分对象。理想情况下,对象也可以根据需要有选择地查询数据库,而不是预先将所有内容都加载到内存中,而对于真正大型的集合来说,客户端/用户不会请求集合中的所有数据。
我已经实现了很多方法,但都不是很模块化,干净,或者有一个非常直观的界面。
是否存在一种常见的OOP设计模式来实现一个对象,该对象允许客户端一次一页地提取数据,并且仅根据需要从数据层查询数据?
听起来像你想要一个迭代器变体。 – 2010-01-11 20:26:49