接口隔离原则
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.after;
|
||||
|
||||
/**
|
||||
* 实现类可以实现需要的接口
|
||||
*
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:43
|
||||
*/
|
||||
public class Bird implements IFlyAction, IEatAction {
|
||||
@Override
|
||||
public void eat() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fly() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.after;
|
||||
|
||||
/**
|
||||
* 接口隔离注重接口方法之间的关系
|
||||
* 单一职责关心类、方法、接口承担的职责,即一个接口只要职责单一就不关系方法之间的关系
|
||||
*
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:44
|
||||
*/
|
||||
public class Dog implements IEatAction, ISwimAction {
|
||||
@Override
|
||||
public void eat() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swim() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.after;
|
||||
|
||||
/**
|
||||
* 隔离接口方法,但注意适度,不是越少越好
|
||||
*
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:42
|
||||
*/
|
||||
public interface IEatAction {
|
||||
void eat();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.after;
|
||||
|
||||
/**
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:43
|
||||
*/
|
||||
public interface IFlyAction {
|
||||
void fly();
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.after;
|
||||
|
||||
/**
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:43
|
||||
*/
|
||||
public interface ISwimAction {
|
||||
void swim();
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.before;
|
||||
|
||||
/**
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:41
|
||||
*/
|
||||
public class Bird implements IAnimalAction {
|
||||
@Override
|
||||
public void eat() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fly() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swim() {
|
||||
// 不需要的接口,但被迫实现
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.before;
|
||||
|
||||
/**
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:44
|
||||
*/
|
||||
public class Dog implements IAnimalAction {
|
||||
@Override
|
||||
public void eat() {
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public void fly() {
|
||||
// 不需要的接口,但被迫实现
|
||||
}
|
||||
|
||||
@Override
|
||||
public void swim() {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package top.fjy8018.designpattern.principle.interfacesegregation.before;
|
||||
|
||||
/**
|
||||
* 接口隔离原则:客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上
|
||||
* 旧版:一个接口承担过多功能,使得实现类对有些不需要的方法也必须实现
|
||||
*
|
||||
* @author F嘉阳
|
||||
* @date 2018-09-22 11:40
|
||||
*/
|
||||
public interface IAnimalAction {
|
||||
void eat();
|
||||
|
||||
void fly();
|
||||
|
||||
void swim();
|
||||
}
|
||||
Reference in New Issue
Block a user