面向接口编程
面向接口编程
接口体现的规范与实现分离的原则,使用接口可以降低模块之间的耦合性,可以提高系统的可拓展性和可维护性。
1. 简单工厂模式
// 1. Computer 只是组合了 Output 接口,并没有耦合具体的实现类
// 2. 通过 OutputFactory 可以构造具体的实现类
interface Output {
void print();
void scan();
}
class Printer implements Output {
//... ...
}
class BetterPrinter implements Output {
//... ...
}
class Computer {
private Output output;
public Computer(Output output) {
this.output = output;
}
// 接下来就可以使用 output 接口中定义的相关方法
// ... ...
}
class OutputFactory {
public static Output getOutput() {
return new Printer(); // 可以自定义实现的子类
}
}
2. 命令模式
interface Process {
void process (int[] target); //处理 int[]
}
class Student {
private int[] scores;
public void average(int[] target, Process process) { // 这是求平均数处理
process(target);
}
public void sum(int[] target, Process process) { // 这是求和处理
process(target);
}
}
Happiness From Share.