耦合和解耦的概念解析!
2017-05-30 18:51
204 查看
转载于:http://blog.csdn.net/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
追问
恕小弟愚昧,弱弱的问下,这里所说的“依赖抽象的接口不依赖现实”,是不是说不管类B,类C编译的版本怎么变,但始终可以调用接口来调用类B,类C,所以类A不用编译了?
回答
1. 如果B发生了修改,那我们可以使用C,因为我们依赖的是接口,而不是具体的类(对象) 打个比方,汽车制造者可以依赖于轮胎这个抽象的东西,但不能依赖于具体的品牌比如"风神轮胎" 2. 当需求改变的时候,我们需要修改的只有Main函数所在的类(甚至它都可能不用修改,只需要修改配置文件就可以)。 重新编译程序的代价很大,打个比方,windows有更新了,只是提供补丁,而不是给一版新的windows吧 软件设计程序的基本思想是,当需求改变的时候,我们的应用程序改变最小
相关文章推荐
- [设计模式] 耦合和解耦的概念解析
- 耦合和解耦的概念解析!
- ClearCase完全攻略(二) Base下的一些概念全解析
- OC中栈区与堆区的内存概念解析
- Haproxy相关概念解析
- 【概念解析四】装饰和继承的区别?
- C++静态构造函数相关概念解析
- 高内聚,低耦合的概念剖析
- 计算机网络之概念解析
- 图——生成树和最小生成树 (概念解析)
- Hadoop 核心概念解析
- 栈的初始化及栈帧概念解析--国嵌第三季--专题10 课程1
- RPC 的概念模型与实现解析
- BSP概念解析
- 【Alljoyn】Alljoyn学习笔记五 AllJoyn开源技术基础概念解析
- 【C#小知识】C#中一些易混淆概念总结(四)---------解析Console.WriteLine()
- 关于“网站重构”概念解析
- 深度学习部分概念解析 - 1
- 【C#小知识】C#中一些易混淆概念总结(八)---------解析接口
- 【概念解析】b、B、k、K、Ki