04 接口隔离原则

官方定义

<<代码整洁之道>>作者罗伯特 C·马丁 为 “接口隔离原则” 的定义是:客户端不
应该被迫依赖于它不使用的方法(Clients should not be forced to depend on
methods they do not use)。
该原则还有另外一个定义:一个类对另一个类的依赖应该建立在最小的接口上

通俗解释

要为各个类建立它们需要的专用接
口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用

接口隔离原则与单一职责原则的区别?

04 接口隔离原则_第1张图片

场景示例

04 接口隔离原则_第2张图片

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 {
//...
}

04 接口隔离原则_第3张图片
04 接口隔离原则_第4张图片

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 {
//...
}

04 接口隔离原则_第5张图片

你可能感兴趣的:(设计模式,接口隔离原则)