interface接口解耦合

来源:互联网 发布:牡丹江信息网源码 编辑:程序博客网 时间:2024/05/15 14:08

耦合的概念

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

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

  • 模块只对外暴露最小限度的接口,形成最低的依赖关系。
  • 只要对外接口不便,板块内部的修改,就是不得影响期的的模块。
  • 删除一个模块,应当值影响有依赖关系的其他模块,而不应该影响其他无关部分
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();}



1 0
原创粉丝点击