这是个好东西
工厂模式实现了创建者和调用者分离。符合面向对象的设计原则,使项目更加容易维护扩展。
##简单工厂模式
简单工厂模式也叫静态工厂模式,实现了创建者和使用者的分离,当我们想获取一个类的实例时,不是通过调用类的构造器,而是通过一个工厂方法返回一个类的实例。
public interface car {
void run();
}
public class byd implements car{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("比亚迪");
}
}
public class audo implements car{
@Override
public void run() {
// TODO Auto-generated method stub
System.out.println("奥迪");
}
}
public class client {
public static void main(String[] args) {
car car1=new audo();
car car2= new byd();
car1.run();
car2.run();
System.out.println("---使用静态工厂方法---");
car factoryCar1 =simplefactory.createaudo();
car factoryCar2 =simplefactory.createbyd();
factoryCar1.run();
factoryCar2.run();
}
}
使用简单工厂模式有以下好处
1.工厂方法可以有名字
由于java的特性,每一个构造器都有相同的名字,这样使用者调用时就非常容易出错。而工厂方法可以有名字,能更好地描述返回值的类型。
2.静态工厂方法可以返回原类型的子类型
工厂方法模式(不常用)
为每一个类在提供一个专门的工厂类对其进行实例化。
优点:
满足设计原则,即要添加新的功能时尽量不修改已有的代码,而是通过添加新类实现。
调用者不需要与类直接打交道,减少出错概率。
抽象工厂模式
pass