转载于:http://blog.youkuaiyun.com/hb0746/article/details/7410524
耦合就是两个层之间有依赖关系? == 同一个层也可能有依赖关系 看见有解耦的方法就是在相互依赖的两层之间加一层,可是新加的一层不是又和原来的两层有耦合关系了吗? == 解耦的方式是让设计依赖于抽象,而不是依赖于实现,看看设计模式的原则 到底什么是耦合?? == A明确地使用B资源 publci class A { B b; } public class B { } 现在A依赖于B interface IX { ... } public class A { IX i; public A(IX i) { this.i = i; } } public class B:IX { } 调用的时候,我可以决定用哪个实现接口的类,甚至可以是从配置文件反射生成 A a = new A(new B()); 也可能因为某个条件 A a = new A(new C()); 这样 A依赖的是抽象的接口IX,而不是具体的类B或者C