设计模式中所说的解耦

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

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

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

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

原文地址:https://www.cnblogs.com/johnsblog/p/10398303.html