diff --git a/src/test/java/com/greenorange/promotion/designModel/Client.java b/src/test/java/com/greenorange/promotion/designModel/Client.java new file mode 100644 index 0000000..127ec7e --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/Client.java @@ -0,0 +1,20 @@ +package com.greenorange.promotion.designModel; + +public class Client { + public static void main(String[] args) { + + TestController testController = new TestController(); + + Light light = new Light(); + TV tv = new TV(); + + LightOnCommand lightOnCommand = new LightOnCommand(light); + TVOnCommand tvOnCommand = new TVOnCommand(tv); + + testController.setCommand(lightOnCommand); + testController.setCommand(tvOnCommand); + } + + + +} diff --git a/src/test/java/com/greenorange/promotion/designModel/Command.java b/src/test/java/com/greenorange/promotion/designModel/Command.java new file mode 100644 index 0000000..785629b --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/Command.java @@ -0,0 +1,6 @@ +package com.greenorange.promotion.designModel; + +public interface Command { + + void execute(); +} diff --git a/src/test/java/com/greenorange/promotion/designModel/Controller.java b/src/test/java/com/greenorange/promotion/designModel/Controller.java new file mode 100644 index 0000000..10830dd --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/Controller.java @@ -0,0 +1,4 @@ +package com.greenorange.promotion.designModel; + +public class Controller { +} diff --git a/src/test/java/com/greenorange/promotion/designModel/Light.java b/src/test/java/com/greenorange/promotion/designModel/Light.java new file mode 100644 index 0000000..8590e7a --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/Light.java @@ -0,0 +1,8 @@ +package com.greenorange.promotion.designModel; + +public class Light { + + public void turnOn() { + System.out.println("灯已打开"); + } +} diff --git a/src/test/java/com/greenorange/promotion/designModel/LightOnCommand.java b/src/test/java/com/greenorange/promotion/designModel/LightOnCommand.java new file mode 100644 index 0000000..97f6f54 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/LightOnCommand.java @@ -0,0 +1,15 @@ +package com.greenorange.promotion.designModel; + +public class LightOnCommand implements Command{ + + private Light light; + + public LightOnCommand(Light light) { + this.light = light; + } + + @Override + public void execute() { + light.turnOn(); + } +} diff --git a/src/test/java/com/greenorange/promotion/designModel/TV.java b/src/test/java/com/greenorange/promotion/designModel/TV.java new file mode 100644 index 0000000..484937b --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/TV.java @@ -0,0 +1,8 @@ +package com.greenorange.promotion.designModel; + +public class TV { + + public void turnOn() { + System.out.println("电视已打开"); + } +} diff --git a/src/test/java/com/greenorange/promotion/designModel/TVOnCommand.java b/src/test/java/com/greenorange/promotion/designModel/TVOnCommand.java new file mode 100644 index 0000000..f54232d --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/TVOnCommand.java @@ -0,0 +1,15 @@ +package com.greenorange.promotion.designModel; + +public class TVOnCommand implements Command{ + + private TV tv; + + public TVOnCommand(TV tv) { + this.tv = tv; + } + + @Override + public void execute() { + tv.turnOn(); + } +} diff --git a/src/test/java/com/greenorange/promotion/designModel/TestController.java b/src/test/java/com/greenorange/promotion/designModel/TestController.java new file mode 100644 index 0000000..672d1ce --- /dev/null +++ b/src/test/java/com/greenorange/promotion/designModel/TestController.java @@ -0,0 +1,12 @@ +package com.greenorange.promotion.designModel; + +public class TestController { + + private Command command; + + public void setCommand(Command command) { + this.command = command; + command.execute(); + } + +} diff --git a/src/test/java/com/greenorange/promotion/factory/Computer.java b/src/test/java/com/greenorange/promotion/factory/Computer.java new file mode 100644 index 0000000..c18c069 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/Computer.java @@ -0,0 +1,6 @@ +package com.greenorange.promotion.factory; + +public interface Computer { + + void turnOn(); +} diff --git a/src/test/java/com/greenorange/promotion/factory/ComputerFactory.java b/src/test/java/com/greenorange/promotion/factory/ComputerFactory.java new file mode 100644 index 0000000..a362e49 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/ComputerFactory.java @@ -0,0 +1,7 @@ +package com.greenorange.promotion.factory; + +public abstract class ComputerFactory { + + public abstract Computer createComputer(); + +} diff --git a/src/test/java/com/greenorange/promotion/factory/DellComputer.java b/src/test/java/com/greenorange/promotion/factory/DellComputer.java new file mode 100644 index 0000000..5398281 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/DellComputer.java @@ -0,0 +1,9 @@ +package com.greenorange.promotion.factory; + +public class DellComputer implements Computer{ + + @Override + public void turnOn() { + System.out.println("戴尔电脑开机"); + } +} diff --git a/src/test/java/com/greenorange/promotion/factory/DellFactory.java b/src/test/java/com/greenorange/promotion/factory/DellFactory.java new file mode 100644 index 0000000..b9eca6d --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/DellFactory.java @@ -0,0 +1,9 @@ +package com.greenorange.promotion.factory; + +public class DellFactory extends ComputerFactory{ + + @Override + public Computer createComputer() { + return new DellComputer(); + } +} diff --git a/src/test/java/com/greenorange/promotion/factory/LenovoComputer.java b/src/test/java/com/greenorange/promotion/factory/LenovoComputer.java new file mode 100644 index 0000000..62fe92a --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/LenovoComputer.java @@ -0,0 +1,9 @@ +package com.greenorange.promotion.factory; + +public class LenovoComputer implements Computer{ + + @Override + public void turnOn() { + System.out.println("联想电脑开机"); + } +} diff --git a/src/test/java/com/greenorange/promotion/factory/LenovoFactory.java b/src/test/java/com/greenorange/promotion/factory/LenovoFactory.java new file mode 100644 index 0000000..f3e4b42 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/LenovoFactory.java @@ -0,0 +1,10 @@ +package com.greenorange.promotion.factory; + +public class LenovoFactory extends ComputerFactory { + + @Override + public Computer createComputer() { + return new LenovoComputer(); + } +} + diff --git a/src/test/java/com/greenorange/promotion/factory/TestFactory.java b/src/test/java/com/greenorange/promotion/factory/TestFactory.java new file mode 100644 index 0000000..6d09212 --- /dev/null +++ b/src/test/java/com/greenorange/promotion/factory/TestFactory.java @@ -0,0 +1,19 @@ +package com.greenorange.promotion.factory; + +public class TestFactory { + + public static void main(String[] args) { + DellFactory dellFactory = new DellFactory(); + LenovoFactory lenovoFactory = new LenovoFactory(); + + Computer dellComputer = dellFactory.createComputer(); + Computer lenovoComputer = lenovoFactory.createComputer(); + dellComputer.turnOn(); + lenovoComputer.turnOn(); + + } + + + + +}