建造者模式(Builder)与原型模式(Prototype)都是一种创建型模式。
>建造者模式(Builder)
建造者模式与工厂模式中的抽象工厂有点类似,都是关心组产品的组合问题。而其区别之处在于,建造者模式关注的是最终产品的构建即组装过程(组原料->产品),工厂模式关注的是产品的构建即创建过程(组产品工厂->生产组产品)。举个小例子:
class House{//kotlin代码
lateinit var door:String
lateinit var window:String
lateinit var wall:String
}
interface HouserBuilderInterface{
fun setDoor()
fun setWindow()
fun setWall()
fun build():House
}
class BigHouseBuilder:HouseBuilderInterface{
private var house:House = House()
override fun setDoor(){
house.door="铁门"
}
override fun setWindow(){
house.window="豪华窗户"
}
override fun setWall(){
house.wall="豪华墙壁"
}
override fun build():House{
setDoor()
setWall()
setWin