FactoryClass与普通Java类的比较
工厂类类似于一个FactoryClass与普通Java类的比较,java,class,factory,Java,Class,Factory,工厂类类似于一个DriverManager.getConnection(“…conn…”)。它们是类的类方法 现在,它们与java.lang.util 我所说的普通类的意思是,它的实例创建如下 Date d=new Date(); 那么,与上面提到的(日期类)相比,工厂类是什么呢?它们是“普通”类,但它们遵循工厂方法模式 factory模式用于: 在不向客户机公开实例化逻辑的情况下创建对象 通过公共接口引用新创建的对象 发件人: 下面是一个如何用java实现的示例 package des
DriverManager.getConnection(“…conn…”)
。它们是类的类方法
现在,它们与java.lang.util
我所说的普通类的意思是,它的实例创建如下
Date d=new Date();
那么,与上面提到的(日期类)相比,工厂类是什么呢?它们是“普通”类,但它们遵循工厂方法模式
factory模式用于:
- 在不向客户机公开实例化逻辑的情况下创建对象
- 通过公共接口引用新创建的对象
package designPatterns.creational.factory;
public class CarFactory {
public static Car buildCar(CarType model) {
Car car = null;
switch (model) {
case SMALL:
car = new SmallCar();
break;
case SEDAN:
car = new SedanCar();
break;
case LUXURY:
car = new LuxuryCar();
break;
default:
// throw some exception
break;
}
return car;
}
}
完整示例:您提到的工厂方法称为设计模式。工厂方法是一种创造性的模式,它可以防止构造函数的硬编码,并且可能是最常见的面向对象设计模式之一。这里要实现的关键是Factory模式设计了一个用于创建对象的接口。它通过减少重复代码的数量来促进干燥原则(不要重复自己) 如果您的代码需要可移植,您将希望避免在应用程序中硬编码构造函数调用。有时最好让子类决定实例化哪个类
您询问了工厂创建的对象和没有工厂创建的对象之间的区别?它们都是静态对象,您在后台调用工厂方法的类正在创建一个对象并将其返回给您。有些对象非常复杂,使用预定义的界面来创建对象更有意义。最后,有时关于创建对象的信息不应该向用户公开 很难知道这里有什么问题。问题是什么(没有问号很难确定)?“正常”是什么意思?工厂课程是正常的。事实上,
java.lang.util
中有工厂类(如集合
类)。工厂是一种设计模式,工厂类实现了该设计模式。