- 工厂模式:一个面条加工工厂,可以加工出来兰州拉面、重庆小面、方便面等多种多样的面条。就是一个抽象类(面),多个实体类(各种面条类),一个面条工厂(有一个create方法,创造面条,利用if或者 switch创建产品并返回)。这个面条工厂只负责加工面条(new一个对象),然后把它加工的面条给你(返回创建的对象),不负责面条的加葱花,加辣(执行对象自己的方法)
- 代理模式:一个班交班费,都是班长代理收费。就是一个person抽象类,多个学生类,一个班长代理(内置person属性),这个班长代理只负责拿到学生名单(初始化时,自己传一个person对象过去),拿走学生的money(执行person对象的方法),但是它不负责创造一个学生对象,(班长代理也创造不了,哈哈)
- 工厂模式与代理模式的区别,感觉就是工厂的各种面条,比如兰州拉面、重庆小面等,都是面条加工厂(工厂)制造的(由create制造)。而代理模式,则是传给班长(代理)一个同学(对象),班长代理就会替你把钱给交了(执行某些方法)。
- 工厂模式有三种实现,简单工厂模式,工厂方法模式,抽象工厂模式。
写的有点狗屁 但是我大概想明白了 他们的区别