设计模式中所说的解耦

Posted johnsblog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式中所说的解耦相关的知识,希望对你有一定的参考价值。

  在设计模式中,经常会谈到的一点是解耦。很多设计模式的优点,就是把调用方和实现方解耦了。比方说Command模式,比方说Mediator模式等等。

  进一步思考一下,解耦的目的是什么呢?我的答案是复用。如果仅仅是解耦,没有复用,那解耦没有任何意义。

  打个比方,我们都知道,业务逻辑不应该依赖具体的DAO实现,而应该依赖DAO接口。这样一来,业务逻辑就和数据库解耦了。无论我采用什么样的数据库,我的业务逻辑都可以复用,不用做任何修改,只要增加DAO的实现就行了。

  如果我确定数据库选型只可能是一种,那么我还有必要解耦吗?我认为是没必要了。所以在什么地方使用设计模式,去达到解耦的目的?决不是在所有地方,而是在未来可能会有多种实现的地方。

以上是关于设计模式中所说的解耦的主要内容,如果未能解决你的问题,请参考以下文章

工厂模式和抽象工厂模式

设计模式之桥接模式(Bridge)

Spring中如何使用工厂模式实现程序解耦?

聊聊Kafka中值得我们学习的优秀设计

Spring 从入门到精通系列 02——程序的耦合问题及工厂模式解耦

Android模块化设计方案之使用代理模式解耦