design patterns : visitor
This commit is contained in:
9
design-pattern/gof/src/visitor/after/Circle.java
Normal file
9
design-pattern/gof/src/visitor/after/Circle.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Circle implements Shape {
|
||||
|
||||
@Override
|
||||
public void accept(Device device) {
|
||||
device.print(this);
|
||||
}
|
||||
}
|
||||
10
design-pattern/gof/src/visitor/after/Client.java
Normal file
10
design-pattern/gof/src/visitor/after/Client.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Client {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Shape rectangle = new Rectangle();
|
||||
Device device = new Pad();
|
||||
rectangle.accept(device);
|
||||
}
|
||||
}
|
||||
9
design-pattern/gof/src/visitor/after/Device.java
Normal file
9
design-pattern/gof/src/visitor/after/Device.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package visitor.after;
|
||||
|
||||
public interface Device {
|
||||
void print(Circle circle);
|
||||
|
||||
void print(Rectangle rectangle);
|
||||
|
||||
void print(Triangle triangle);
|
||||
}
|
||||
18
design-pattern/gof/src/visitor/after/Pad.java
Normal file
18
design-pattern/gof/src/visitor/after/Pad.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Pad implements Device {
|
||||
@Override
|
||||
public void print(Circle circle) {
|
||||
System.out.println("Print Circle to Pad");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Rectangle rectangle) {
|
||||
System.out.println("Print Rectangle to Pad");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Triangle triangle) {
|
||||
System.out.println("Print Triangle to Pad");
|
||||
}
|
||||
}
|
||||
18
design-pattern/gof/src/visitor/after/Phone.java
Normal file
18
design-pattern/gof/src/visitor/after/Phone.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Phone implements Device {
|
||||
@Override
|
||||
public void print(Circle circle) {
|
||||
System.out.println("Print Circle to Phone");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Rectangle rectangle) {
|
||||
System.out.println("Print Rectangle to Phone");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Triangle triangle) {
|
||||
System.out.println("Print Triangle to Phone");
|
||||
}
|
||||
}
|
||||
9
design-pattern/gof/src/visitor/after/Rectangle.java
Normal file
9
design-pattern/gof/src/visitor/after/Rectangle.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Rectangle implements Shape {
|
||||
|
||||
@Override
|
||||
public void accept(Device device) {
|
||||
device.print(this);
|
||||
}
|
||||
}
|
||||
7
design-pattern/gof/src/visitor/after/Shape.java
Normal file
7
design-pattern/gof/src/visitor/after/Shape.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package visitor.after;
|
||||
|
||||
public interface Shape {
|
||||
|
||||
void accept(Device device);
|
||||
|
||||
}
|
||||
9
design-pattern/gof/src/visitor/after/Triangle.java
Normal file
9
design-pattern/gof/src/visitor/after/Triangle.java
Normal file
@@ -0,0 +1,9 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Triangle implements Shape {
|
||||
|
||||
@Override
|
||||
public void accept(Device device) {
|
||||
device.print(this);
|
||||
}
|
||||
}
|
||||
18
design-pattern/gof/src/visitor/after/Watch.java
Normal file
18
design-pattern/gof/src/visitor/after/Watch.java
Normal file
@@ -0,0 +1,18 @@
|
||||
package visitor.after;
|
||||
|
||||
public class Watch implements Device {
|
||||
@Override
|
||||
public void print(Circle circle) {
|
||||
System.out.println("Print Circle to Watch");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Rectangle rectangle) {
|
||||
System.out.println("Print Rectangle to Watch");
|
||||
}
|
||||
|
||||
@Override
|
||||
public void print(Triangle triangle) {
|
||||
System.out.println("Print Triangle to Watch");
|
||||
}
|
||||
}
|
||||
12
design-pattern/gof/src/visitor/before/Circle.java
Normal file
12
design-pattern/gof/src/visitor/before/Circle.java
Normal file
@@ -0,0 +1,12 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Circle implements Shape {
|
||||
@Override
|
||||
public void printTo(Device device) {
|
||||
if (device instanceof Phone) {
|
||||
System.out.println("print Circle to phone");
|
||||
} else if (device instanceof Watch) {
|
||||
System.out.println("print Circle to watch");
|
||||
}
|
||||
}
|
||||
}
|
||||
10
design-pattern/gof/src/visitor/before/Client.java
Normal file
10
design-pattern/gof/src/visitor/before/Client.java
Normal file
@@ -0,0 +1,10 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Client {
|
||||
|
||||
public static void main(String[] args) {
|
||||
Shape rectangle = new Rectangle();
|
||||
Device device = new Phone();
|
||||
rectangle.printTo(device);
|
||||
}
|
||||
}
|
||||
4
design-pattern/gof/src/visitor/before/Device.java
Normal file
4
design-pattern/gof/src/visitor/before/Device.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package visitor.before;
|
||||
|
||||
public interface Device {
|
||||
}
|
||||
4
design-pattern/gof/src/visitor/before/Phone.java
Normal file
4
design-pattern/gof/src/visitor/before/Phone.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Phone implements Device{
|
||||
}
|
||||
13
design-pattern/gof/src/visitor/before/Rectangle.java
Normal file
13
design-pattern/gof/src/visitor/before/Rectangle.java
Normal file
@@ -0,0 +1,13 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Rectangle implements Shape {
|
||||
|
||||
@Override
|
||||
public void printTo(Device device) {
|
||||
if (device instanceof Phone) {
|
||||
System.out.println("print Rectangle to phone");
|
||||
} else if (device instanceof Watch) {
|
||||
System.out.println("print Rectangle to watch");
|
||||
}
|
||||
}
|
||||
}
|
||||
7
design-pattern/gof/src/visitor/before/Shape.java
Normal file
7
design-pattern/gof/src/visitor/before/Shape.java
Normal file
@@ -0,0 +1,7 @@
|
||||
package visitor.before;
|
||||
|
||||
public interface Shape {
|
||||
|
||||
void printTo(Device device);
|
||||
|
||||
}
|
||||
14
design-pattern/gof/src/visitor/before/Triangle.java
Normal file
14
design-pattern/gof/src/visitor/before/Triangle.java
Normal file
@@ -0,0 +1,14 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Triangle implements Shape {
|
||||
|
||||
@Override
|
||||
public void printTo(Device device) {
|
||||
if (device instanceof Phone) {
|
||||
System.out.println("print Triangle to Phone");
|
||||
} else if (device instanceof Watch) {
|
||||
System.out.println("print Triangle to Watch");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
4
design-pattern/gof/src/visitor/before/Watch.java
Normal file
4
design-pattern/gof/src/visitor/before/Watch.java
Normal file
@@ -0,0 +1,4 @@
|
||||
package visitor.before;
|
||||
|
||||
public class Watch implements Device{
|
||||
}
|
||||
Reference in New Issue
Block a user