简单工厂模式
用来解决创建对象的问题
工厂指象流水线一样的生产车间
原本使用的对象是通过自己创建的方式new出来的
如果有大量的对象需要创建,但是如果以后要修改这个对象名则需要修改所有的new对象的代码。
我们可以找一些相同的对象,给他抽象出一个规则(接口)。用来得到对象。使用多态的效果,父类引用指向子类对象。可以同意规则得到对象,也隐藏了具体代码的实现。
MalaTang malaTang = new Yangguofu();
malaTang.malatang();
但是暴露了具体子类,如果多人使用就需要new 多个对象。不方便改动。
简单工厂
new 一个工厂 ,通过工厂得到一个对象。调用方法。
//创建一个工厂
MalatangFactory factory = new MalatangFactory();
//使用工厂得到一个对象
MalaTang ma = factory.getMalatang(“yang”);
//调用对象方法,多态。
ma.malatang();
如果这个时候也很麻烦,我们需要给工厂传递参数,让工厂知道我们需要什莫对象,也就是我们需要了解工厂参数的规则。工厂内部也需要判断。如果多一个对象,就需要多一个判断很不方便。我们可以选择不处理参数。
我们把工厂方法可以设置成抽象的,这个工厂就成为了一个总厂。那么我们需要得到一个类对象,可以写一个类工厂继承总厂。由这个工厂来实现创建对象。
//创建一个工厂
MalatangFactory factory = new YangguofuFactory();
//使用工厂得到一个对象
MalaTang ma = factory.getMalatang();
//调用对象方法,多态。
ma.malatang();
这样的话可以对用户隐藏。
代码部分**:E:\java_project\20210327\工厂设计模式**
