最简单的两个模式,同属结构性模式,为啥把他俩放在一起呢?因为他俩实在太像了,并且我也觉得没啥区分的必要。
实际上他俩的实现方式都差不多,通过组合已有类对象来实现。
那么他俩的区别是什么呢?唯一的区别就在于外观模式创建的对象他的接口是供程序员使用的(目的),所以“外观”相较于“被外观的”接口更简单(特征)。而适配器就不一定,他创建的接口不一定会更简单,当时会为了适配已经存在的类使用的接口(目的),接口不一定会被简化,但会适配系统中已有的类所需的接口,所以经常作为其他一些设计模式的基础(例如创建型模式中的抽象工厂模式,桥接模式)。
首先外观模式举例,我们可以看一下py标准库中的ftplib模块,你会发现他的接口实在有些不同寻常