说明
首先乍一看模板模式和其他两个一点也不相关,但是据我分析,建造者模式其实算是一个模板模式,模板模式就是通过抽象基类制定业务逻辑,继承类来实现具体,建造者模式其实也是基类制定要生产商品的步骤,继承者根据要生产的产品进行具体的建造,所以建造者模式就是运用了模板模式,其实从这里也可以看出,模式主要提供的设计理念,有些理念虽然描述上不一样,但是根本上确实一致的。
另外建造者模式和解释器模式对比,我老觉得两者是对应的,一个是生产商品,一个是分解商品。
建造者模式
UML
说明
说建造者模式适用于比较复杂对象的生成,因为如果不复杂,只要一个接口函数就可以完成,由于复杂需要很多接口完成,所以索性将这些接口封装在一起成为抽象建造者。另外要生成的对象虽然有区别,但是基本上结构还是一致的,所以,这样才能有统一的抽象建造者基类。
解释器模式
UML
说明
解释器模式每个解释器解析对象中的一个部分,所以在这,解释器模式和建造者模式也是有区别,就是一个具体的建造者可以生产出一个完整的产品,而解释器模式却需要很多个解释器将一个产品解析出来。