BAEL-5850 - Abstract Factory vs Factory Method Pattern in Java (#13115)
This commit is contained in:
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public abstract class Corporation {
|
||||
|
||||
public abstract MotorVehicle createMotorVehicle();
|
||||
|
||||
public abstract ElectricVehicle createElectricVehicle();
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public interface ElectricVehicle {
|
||||
void build();
|
||||
}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class FutureVehicleCorporation extends Corporation {
|
||||
@Override
|
||||
public MotorVehicle createMotorVehicle() {
|
||||
return new FutureVehicleMotorcycle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElectricVehicle createElectricVehicle() {
|
||||
return new FutureVehicleElectricCar();
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class FutureVehicleElectricCar implements ElectricVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("Future Vehicle Electric Car");
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class FutureVehicleMotorcycle implements MotorVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("Future Vehicle Motorcycle");
|
||||
}
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public interface MotorVehicle {
|
||||
void build();
|
||||
}
|
||||
-13
@@ -1,13 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class NextGenCorporation extends Corporation {
|
||||
@Override
|
||||
public MotorVehicle createMotorVehicle() {
|
||||
return new NextGenMotorcycle();
|
||||
}
|
||||
|
||||
@Override
|
||||
public ElectricVehicle createElectricVehicle() {
|
||||
return new NextGenElectricCar();
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class NextGenElectricCar implements ElectricVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("NextGen Electric Car");
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.abstract_factory;
|
||||
|
||||
public class NextGenMotorcycle implements MotorVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("NextGen Motorcycle");
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public class Car implements MotorVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("Build Car");
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public class CarFactory extends MotorVehicleFactory {
|
||||
@Override
|
||||
protected MotorVehicle createMotorVehicle() {
|
||||
return new Car();
|
||||
}
|
||||
}
|
||||
-5
@@ -1,5 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public interface MotorVehicle {
|
||||
void build();
|
||||
}
|
||||
-11
@@ -1,11 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public abstract class MotorVehicleFactory {
|
||||
public MotorVehicle create() {
|
||||
MotorVehicle vehicle = createMotorVehicle();
|
||||
vehicle.build();
|
||||
return vehicle;
|
||||
}
|
||||
|
||||
protected abstract MotorVehicle createMotorVehicle();
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public class Motorcycle implements MotorVehicle {
|
||||
@Override
|
||||
public void build() {
|
||||
System.out.println("Build Motorcycle");
|
||||
}
|
||||
}
|
||||
-8
@@ -1,8 +0,0 @@
|
||||
package com.baeldung.factory_pattern.method;
|
||||
|
||||
public class MotorcycleFactory extends MotorVehicleFactory {
|
||||
@Override
|
||||
protected MotorVehicle createMotorVehicle() {
|
||||
return new Motorcycle();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user