您的位置:首页 > 编程语言 > Java开发

interface接口解耦合

2017-02-16 14:01 344 查看
耦合的概念

耦合是一个宽泛的概念。两个程序模块有关联就叫做耦合

比如某些模块必然要关联起来才能工作,这是由业务逻辑决定的,不能否认。所以解耦并不是字面意义上的把关联拆掉,而是把模块之间的关联放松到必要的程度。

模块只对外暴露最小限度的接口,形成最低的依赖关系。
只要对外接口不便,板块内部的修改,就是不得影响期的的模块。
删除一个模块,应当值影响有依赖关系的其他模块,而不应该影响其他无关部分
public static void main(String[] args) {
// Mouse mouse = new Mmouse();
// Mouse mouse = new Omouse();
// Display display = new LED();
Mouse mouse = new TouchScreen();
Display display = (Display) mouse;
Computer c = new Computer(mouse, display);
c.startup();
}

}

interface Mouse {
void input();
}

interface Display {
void output();
}

class Mmouse implements Mouse {
public void input() {
System.out.println("mmouse input");
}
}

class Omouse implements Mouse {
public void input() {
System.out.println("omouse input");
}
}

class CRT implements Display {
public void output() {
System.out.println("CRT output");
}
}

class LED implements Display {
public void output() {
System.out.println("LED output");
}
}

class TouchScreen implements Mouse, Display {
public void input() {
System.out.println("touchscreen input");
}

public void output() {
System.out.println("touchscreen output");
}
}

class Computer {
private Mouse mouse;
private Display display;

public Computer(Mouse mouse, Display display) {
this.mouse = mouse;
this.display = display;
}

public void startup() {
this.mouse.input();
this.display.output();
}





内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息