建造者模式
概念简介
建造者模式的意义就是为了分离对象的属性和创建过程
为何而生
建造者就是为了分离对象的属性和创建过程而生的,假设一个对象有很多有很多属性,而且属性间有很多关联关系,使用者看到这个对象必然是头大的,首先了解每一个属性,然后还要搞清关联关系,这学习成本太高了,没有人会喜欢使用这样的对象。
为了解决这个问题,建造者模式应运而生,对象中属性多,但关键属性就那几个,因此建造者模式便让开发者指定一些重要的的属性或者让开发者指定某几个对象类型,然后建造者根据这些信息去实现复杂的构建对象过程。这样对于开发者而言就无需关心具体属性,降低了学习成本,提升了代码的可复用性。
就像买房一样,你去买房你不会自己画好图纸按照这个精确图纸去找房,这不现实。大部分人会找到一个销售人员告诉他你需要多大的house,哪种户型,房子朝向这些,销售会根据你给出的这些信息给你一个筛选后的房子,对于你而言你不用会盖房子,你只用去给出想要的属性去获得,建造者模式也是如此。
建造者模式结构
1.被建造角色
2.建造者leader角色
3.实现建造角色
建造者模式代码示例
1.被建造角色
一个House对象和它的详细属性
2.建造者leader角色
包含定义需要开发者传入的核心属性,对外提供传入核心属性的接口和创建House对象的接口
3.实现建造角色
House对象中重写House对象构造方法,在此根据传入属性进行具体对象构建
go