From 0dfe1411c2db312178757e878141129fd42ca08b Mon Sep 17 00:00:00 2001 From: terry <724796052@qq.com> Date: Sun, 26 Jun 2022 20:10:59 +0800 Subject: [PATCH] =?UTF-8?q?=E7=AE=80=E5=8D=95=E5=B7=A5=E5=8E=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/factoryMethod/Car.java | 8 ++++++++ src/factoryMethod/CarFactory.java | 8 ++++++++ src/factoryMethod/Main.java | 8 ++++++++ src/factoryMethod/Plane.java | 8 ++++++++ src/factoryMethod/SimpleVehicleFactory.java | 16 ++++++++++++++++ src/factoryMethod/Vehicle.java | 5 +++++ 6 files changed, 53 insertions(+) create mode 100644 src/factoryMethod/Car.java create mode 100644 src/factoryMethod/CarFactory.java create mode 100644 src/factoryMethod/Main.java create mode 100644 src/factoryMethod/Plane.java create mode 100644 src/factoryMethod/SimpleVehicleFactory.java create mode 100644 src/factoryMethod/Vehicle.java diff --git a/src/factoryMethod/Car.java b/src/factoryMethod/Car.java new file mode 100644 index 0000000..0024212 --- /dev/null +++ b/src/factoryMethod/Car.java @@ -0,0 +1,8 @@ +package factoryMethod; + +public class Car implements Vehicle{ + @Override + public void go() { + System.out.println("Car starting... go to park..."); + } +} diff --git a/src/factoryMethod/CarFactory.java b/src/factoryMethod/CarFactory.java new file mode 100644 index 0000000..223f30a --- /dev/null +++ b/src/factoryMethod/CarFactory.java @@ -0,0 +1,8 @@ +package factoryMethod; + +public class CarFactory { + public Vehicle createCar(){ + System.out.println("car created..."); + return new Car(); + } +} diff --git a/src/factoryMethod/Main.java b/src/factoryMethod/Main.java new file mode 100644 index 0000000..b8f5793 --- /dev/null +++ b/src/factoryMethod/Main.java @@ -0,0 +1,8 @@ +package factoryMethod; + +public class Main { + public static void main(String[] args) { + Vehicle vehicle = new Car(); + vehicle.go(); + } +} diff --git a/src/factoryMethod/Plane.java b/src/factoryMethod/Plane.java new file mode 100644 index 0000000..ea10769 --- /dev/null +++ b/src/factoryMethod/Plane.java @@ -0,0 +1,8 @@ +package factoryMethod; + +public class Plane implements Vehicle{ + @Override + public void go() { + System.out.println("plant moving.. fly fly fly..."); + } +} diff --git a/src/factoryMethod/SimpleVehicleFactory.java b/src/factoryMethod/SimpleVehicleFactory.java new file mode 100644 index 0000000..a04267a --- /dev/null +++ b/src/factoryMethod/SimpleVehicleFactory.java @@ -0,0 +1,16 @@ +package factoryMethod; + +/* +* 简单工厂扩展性不好 +* */ +public class SimpleVehicleFactory { + public Car createCar(){ + //一些前置操作。。。 + return new Car(); + } + + public Plane createPlane(){ + //一些前置操作。。。 + return new Plane(); + } +} diff --git a/src/factoryMethod/Vehicle.java b/src/factoryMethod/Vehicle.java new file mode 100644 index 0000000..c1fa792 --- /dev/null +++ b/src/factoryMethod/Vehicle.java @@ -0,0 +1,5 @@ +package factoryMethod; + +public interface Vehicle { + void go(); +}