“当你想要创建对象的时候,可能不知不觉就已经使用了简单工厂模式。”
构造类
这里还是用水果来举例,先创建一个Fruit:
|
|
创建具体的水果:
|
|
以上创建了橘子类和苹果类。
构造工厂
接下来是工厂类:
|
|
用if判断语句配合传入的字符串参数来选择创建什么的对象。
测试用例
|
|
设计模式的原则
简单工厂模式虽然对创建对象的行为进行了封装,但是违背了开闭原则,因为每次添加一个类都要对原工厂进行修改。
“当你想要创建对象的时候,可能不知不觉就已经使用了简单工厂模式。”
这里还是用水果来举例,先创建一个Fruit:
|
|
创建具体的水果:
|
|
以上创建了橘子类和苹果类。
接下来是工厂类:
|
|
用if判断语句配合传入的字符串参数来选择创建什么的对象。
|
|
简单工厂模式虽然对创建对象的行为进行了封装,但是违背了开闭原则,因为每次添加一个类都要对原工厂进行修改。