Skip to content

Commit 141a42c

Browse files
author
chrish
committed
Refactoring BuilderPattern.
1 parent a6e0e90 commit 141a42c

File tree

7 files changed

+25
-15
lines changed

7 files changed

+25
-15
lines changed
Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,27 @@
11
package io.csie.chris;
22

33
import io.csie.chris.builder.*;
4+
import io.csie.chris.builder.common.Builder;
5+
import io.csie.chris.builder.common.Director;
6+
import io.csie.chris.builder.common.Product;
47

58
public class Main {
69

710
public static void main(String args[]) {
811

912
// Create director and builders
10-
Director tDirector = new Director();
13+
Director director = new Director();
1114

12-
Builder tBuilder1 = new ConcreteBuilder1();
13-
Builder tBuilder2 = new ConcreteBuilder2();
15+
Builder builder1 = new ConcreteBuilder1();
16+
Builder builder2 = new ConcreteBuilder2();
1417

1518
// Construct two products
16-
tDirector.Construct(tBuilder1);
17-
Product tProduct1 = tBuilder1.GetResult();
18-
tProduct1.Show();
19+
director.Construct(builder1);
20+
Product product1 = builder1.GetResult();
21+
product1.Show();
1922

20-
tDirector.Construct(tBuilder2);
21-
Product tProduct2 = tBuilder2.GetResult();
22-
tProduct2.Show();
23+
director.Construct(builder2);
24+
Product product2 = builder2.GetResult();
25+
product2.Show();
2326
}
2427
}

Creational/BuilderPattern/src/io/csie/chris/builder/ConcreteBuilder1.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package io.csie.chris.builder;
22

3+
import io.csie.chris.builder.common.Builder;
4+
import io.csie.chris.builder.common.Product;
5+
36
public class ConcreteBuilder1 extends Builder {
7+
48
private Product mProduct = new Product();
59

610
public void BuildPartA() {

Creational/BuilderPattern/src/io/csie/chris/builder/ConcreteBuilder2.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package io.csie.chris.builder;
22

3+
import io.csie.chris.builder.common.Builder;
4+
import io.csie.chris.builder.common.Product;
5+
36
public class ConcreteBuilder2 extends Builder {
47

58
private Product mProduct = new Product();

Creational/BuilderPattern/src/io/csie/chris/builder/Builder.java renamed to Creational/BuilderPattern/src/io/csie/chris/builder/common/Builder.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.csie.chris.builder;
1+
package io.csie.chris.builder.common;
22

33
public abstract class Builder {
44

Creational/BuilderPattern/src/io/csie/chris/builder/Director.java renamed to Creational/BuilderPattern/src/io/csie/chris/builder/common/Director.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package io.csie.chris.builder;
1+
package io.csie.chris.builder.common;
22

33
public class Director {
44

Creational/BuilderPattern/src/io/csie/chris/builder/Product.java renamed to Creational/BuilderPattern/src/io/csie/chris/builder/common/Product.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
package io.csie.chris.builder;
1+
package io.csie.chris.builder.common;
22

33
import java.util.ArrayList;
44

55
public class Product {
66

7-
private ArrayList<String> szParts = new ArrayList<String>();
7+
private ArrayList<String> szParts = new ArrayList<>();
88

99
public void Add(String pPart) {
1010
szParts.add(pPart);
@@ -14,6 +14,7 @@ public void Show() {
1414

1515
System.out.println("\nParts on product:");
1616

17-
for (String szPart : szParts) System.out.println(szPart);
17+
for (String szPart : szParts)
18+
System.out.println(szPart);
1819
}
1920
}

Creational/ProtypePattern/src/io/csie/chris/prototype/Dog.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ public Dog(String sound) {
1010
this.sound = sound;
1111
}
1212

13-
// Make a copy from io.csie.chris.prototype.common.IPrototype
1413
@Override
1514
public IPrototype doClone() {
1615
return new Dog(sound);

0 commit comments

Comments
 (0)