[导入]Pager: Bridge模式

分页的功能由两部分组成:取数据和计算分页。其中取数据的功能由IPageViewer接口实现
interface IPageViewer{
 int getTotalCount();
 List getAll();
 int listPage(int startPos, int maxCount);
}
Pager是用户调用时的接口
class Pager{
 public List getAll(){}
 public List listPage(){}
 public int getPageCount(){}
 public int getPageSize(){}
 public int getCurrentPage(){}
 ...
}
Pager使用IPageViewer作为数据供体,自身仅提供分页计算的功能。在witrix平台中, IPageViewer是表格数据的标准列举方式,因为与List接口相比,IPageViewer容许部分加载。
IPageViewer 可以有多种实现,如ListPageViewer, XmlPageViewer, ExcelPageViewer, DbTablePageViewer等。一般情况下Pager提供的功能已经足够了,特殊情况下可以通过继承来扩展。例如卡片浏览和分页浏览模式之间的互 相切换通过派生类ItemPager来实现。

你可能感兴趣的:(bridge)