目前,我有一个看起来像这样的界面
public interface SortInfoDialogListener {
void onSortInfoSelected(SortInfo sortInfo);
void onSortInfoDialogDismiss(DialogInterface dialog);
}
Run Code Online (Sandbox Code Playgroud)
由于大多数实现者对 不感兴趣onSortInfoDialogDismiss,我想知道,我应该将其作为一个空的防御者方法吗?
public interface SortInfoDialogListener {
void onSortInfoSelected(SortInfo sortInfo);
default void onSortInfoDialogDismiss(DialogInterface dialog) {
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道,在使接口函数具有空的防御者方法之前,我还应该考虑哪些因素?
我试图在 Effective Java 3 Item 20 和 Item 21 中找到答案。但是,仍然无法得出具体的结论。
小智 5
SOLID 原则规定根据要求隔离接口。目前我可以看到许多实现者不需要 onSortInfoDialogDismiss 方法。
尝试将 onSortInfoDialogDismiss() 提取到另一个接口,以便它可以按需实现。
单独使用 onSortInfoSelected() 保持当前界面,如下所示。
public interface SortInfoDialogListener {
void onSortInfoSelected(SortInfo sortInfo);
}
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
56 次 |
| 最近记录: |