Skip to content

Commit 085f925

Browse files
author
chrish
committed
Refactoring FlyweightPattern.
1 parent 7b6f51b commit 085f925

File tree

4 files changed

+16
-0
lines changed

4 files changed

+16
-0
lines changed

StructuralDesignPattern/FlyweightPattern/Java/FlyweightPatternDemo/Main.java renamed to Structural/FlyweightPattern/src/io/csie/chris/Main.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import io.csie.chris.factory.ShapeFactory;
2+
import io.csie.chris.shape.Circle;
3+
14
public class Main {
25
private static final String colors[] = {"Red", "Orange", "Yellow", "Green", "Blue", "Indigo", "Purple"};
36

StructuralDesignPattern/FlyweightPattern/Java/FlyweightPatternDemo/ShapeFactory.java renamed to Structural/FlyweightPattern/src/io/csie/chris/factory/ShapeFactory.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,16 @@
1+
package io.csie.chris.factory;
2+
3+
import io.csie.chris.shape.Circle;
4+
import io.csie.chris.shape.IShape;
5+
16
import java.util.HashMap;
27

38
public class ShapeFactory {
9+
410
private static final HashMap<String, IShape> circleMap = new HashMap();
511

612
public static IShape getCircle(String color) {
13+
714
Circle circle = (Circle) circleMap.get(color);
815

916
if (circle == null) {

StructuralDesignPattern/FlyweightPattern/Java/FlyweightPatternDemo/Circle.java renamed to Structural/FlyweightPattern/src/io/csie/chris/shape/Circle.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1+
package io.csie.chris.shape;
2+
13
public class Circle implements IShape {
4+
25
private String color;
36

47
public Circle(String color) {

StructuralDesignPattern/FlyweightPattern/Java/FlyweightPatternDemo/IShape.java renamed to Structural/FlyweightPattern/src/io/csie/chris/shape/IShape.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
package io.csie.chris.shape;
2+
13
public interface IShape {
4+
25
void draw();
36
}

0 commit comments

Comments
 (0)