官方定义
<<代码整洁之道>>作者罗伯特 C·马丁 为 “接口隔离原则” 的定义是:客户端不
应该被迫依赖于它不使用的方法(Clients should not be forced to depend on
methods they do not use)。
该原则还有另外一个定义:一个类对另一个类的依赖应该建立在最小的接口上
通俗解释
要为各个类建立它们需要的专用接
口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用
接口隔离原则与单一职责原则的区别?
场景示例
public interface UserService {boolean register(String cellphone, String password);boolean login(String cellphone, String password);UserInfo getUserInfoById(long id);UserInfo getUserInfoByCellphone(String cellphone);
}
public class UserServiceImpl implements UserService {
//...
}
public interface UserService {boolean register(String cellphone, String password);boolean login(String cellphone, String password);UserInfo getUserInfoById(long id);UserInfo getUserInfoByCellphone(String cellphone);
}
public interface RestrictedUserService {boolean deleteUserByCellphone(String cellphone);boolean deleteUserById(long id);
}
public class UserServiceImpl implements UserService,
RestrictedUserService {
//...
}