什么是工厂模式,有什么优点,什么是工厂模式,除此之外还有哪些模式?
什么是工厂模式java
工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。
在工厂模式中,我们在创建对象时不向客户端公开创建逻辑,我们通过使用公共接口指向新创建的对象。
简单来说就是用工厂方法代替new操作。通俗点说,就是创建对象的时候直接调用工厂方法就行了。编程的时候需要定义一个工厂接口,由不同的子类实现,然后定义一个具体的工厂类,定义一个生成实例的方法。我们可以通过这种方法得到实例。
优点:
1.一个调用者想要创建一个对象,只需要知道它的名字。
2.高可扩展性。如果要添加产品,只需扩展一个工厂类。
3.屏蔽产品的具体实现。来电者只关心产品的界面。
缺点:
每增加一个产品,都需要增加一个特定的类和对象实现工厂,使得系统中的类数量翻倍,一定程度上增加了系统的复杂度,也增加了系统中特定类的依赖性。这不是一件好事。
应用实例:
1.你需要一辆车,可以直接从工厂取车,不考虑车是怎么做出来的,也不考虑车内的具体实现。
工厂模式的简单实现如下:
//所有汽车的接口都有一个通用的驱动方式。
公共接口车{
public void drive();
}
//奥迪类实现了汽车接口,因为奥迪也是绝对可以开的车。
大众级奥迪执行车{
大众奥迪(){
System.out.println(生产一辆奥迪);
}
@覆盖
公共void drive() {
System.out.println(开奥迪);
}
}
//宝马类实现汽车接口是因为宝马也是汽车,当然可以开。
公共级宝马弈车{
大众宝马(){
System.out.println(生产一辆宝马);
}
@覆盖
公共void drive() {
System.out.println(开宝马);
}
}
//生产车的工厂收到一个车名,你告诉他你要生产什么车,就可以生产相应的车。
公共类汽车工厂{
公共静态Car getCar(String caename){
if(caename . equals( Audi ){
还新奥迪();
} else if(caename . equals( BMW ){
还新宝马();
}
返回null
}
}
//测试
公共类测试{
公共静态void main(String[] args) {
//告诉工厂类你需要生产一辆奥迪,然后发一个参数奥迪给安踏。
Car audi=CarFactory.getCar(奥迪);
//可以生产奥迪的车,调用驱动的方法就可以驱动。
奥迪. drive();
//宝马也差不多。
car BMW=car factory . get car( BMW );
宝马. drive();
}
}
输出:
变成了一辆奥迪。
开奥迪
生产一辆宝马
开宝马推荐教程:java教程以上是工厂模式java的详细内容,更多请关注我们的其他相关文章!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。