建造者模式是当在创建复杂对象的算法应该独立于该对象的组成部分以及它们的装配方式时适用的模式。
建造者模式包含产品类(Product)、抽象建造者类(Builder)、具体建造者类(ConcreteBuilder1、ConcreteBuilder2…)和指挥者类(Director)
从下面的代码中看各个类的使用:
PersonBuilder *builder = [[PersonThinBuilder alloc]init];
PersonView *personView = [PersonDirector creatPerson:builder];
其中 PersonBuilder 是抽象建造者类,PersonThinBuilder 是具体建造者类,PersonView 是产品类,PersonDirector 是指挥者类。
由代码了解使用方式:
1、创建具体建造者。
2、指挥者通过具体建造者来返回产品。
感觉建造者模式与工厂方法模式非常类似,但是加入了指挥者类。
实例地址:https://github.com/clairehu7/DesignPatterns(09Builder)