Code Fragment-对于一些状态性接口,应该有不同的阶段

来源:互联网 发布:2017网络新词 编辑:程序博客网 时间:2024/05/17 01:05

对于一些接口,我们应该有一些不同的状态。

  • 应该有一些开始性抽象方法,如startXXX。
  • 应该有一些结束性的抽象方法,如finishXXX
  • 一些特别的事件,应该有一些回调,如updateXXX
  • 对于不同性质的东西,可以提供不同的bind方法
例子:在Launcher里,加载应用程序的信息,提供了如下的接口:

public interface Callbacks {    public boolean setLoadOnResume();    public int getCurrentWorkspaceScreen();    public void startBinding();//开始绑定的抽象方法    public void bindItems(ArrayList<ItemInfo> shortcuts, int start, int end);//对于不同性质的东西,可以提供不同的bind方法    public void bindFolders(HashMap<Long,FolderInfo> folders);//对于不同性质的东西,可以提供不同的bind方法    public void finishBindingItems();//绑定结束的抽象方法    public void bindAppWidget(LauncherAppWidgetInfo info);    public void bindAllApplications(ArrayList<ApplicationInfo> apps);    public void bindAppsAdded(ArrayList<ApplicationInfo> apps);    public void bindAppsUpdated(ArrayList<ApplicationInfo> apps);    public void bindAppsRemoved(ArrayList<ApplicationInfo> apps, boolean permanent);    public void bindPackagesUpdated();    public boolean isAllAppsVisible();    public void bindSearchablesChanged();}