看Glide代码时遇到builder和factory,感觉这两个模式很像,不知道这两者有什么区别。
查了一些资料,自己理解了一下
Builder感觉就像是打工仔Worker,是卑微的乙方,他告诉我(甲方):我能造汽车buildCar(),同时我支持自选发动机setEngine(),自选轮胎setTyre(),自选轮子setWheel()等等。于是我想要一辆车就要可以这样写
Worker.setEngine("火箭发动机")
.setTyre("世界上最好的轮胎")
.setWheel("钛合金轮子")
.buildCar();
我说好烦,想要个车这么麻烦。
Factory模式就像资本家,他告诉我(买家):我们卖汽车,有奔驰、宝马、拖拉机,你想要哪个。
我说我要宝马
Factory.createBMW();
我要奔驰
Factory.createBenz();
我说宝马感觉起步慢,奔驰开着轮胎抓地力不强,emmmm,正当我打算跟资本家商量一下,让他给我建一个宝驰工厂的时候,闹钟响了。