定义:
定义一系列算法, 把他们一个个封装起来, 并且使他们可互相替换(变化).
模式使得算法可独立于使用它的客户程序(稳定)而变化(扩展,子类化).
理解:
比如说要读取配置文件,有好几种配置文件,json,yaml,xml,以后可能还要扩展,
可以将每种文件类型都设计为一个类,每个类中都有一个read方法可供外部调用,
用户程序,只要需要一个obj参数,不需要知道你是哪个类,只需要调用obj.read(),就可以获取到数据。
以后无论配置文件扩展为多少种,都不会影响到用户程序
多态调用