File tree Expand file tree Collapse file tree 7 files changed +25
-15
lines changed
BuilderPattern/src/io/csie/chris
ProtypePattern/src/io/csie/chris/prototype Expand file tree Collapse file tree 7 files changed +25
-15
lines changed Original file line number Diff line number Diff line change 11package io .csie .chris ;
22
33import 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
58public 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}
Original file line number Diff line number Diff line change 11package io .csie .chris .builder ;
22
3+ import io .csie .chris .builder .common .Builder ;
4+ import io .csie .chris .builder .common .Product ;
5+
36public class ConcreteBuilder1 extends Builder {
7+
48 private Product mProduct = new Product ();
59
610 public void BuildPartA () {
Original file line number Diff line number Diff line change 11package io .csie .chris .builder ;
22
3+ import io .csie .chris .builder .common .Builder ;
4+ import io .csie .chris .builder .common .Product ;
5+
36public class ConcreteBuilder2 extends Builder {
47
58 private Product mProduct = new Product ();
Original file line number Diff line number Diff line change 1- package io .csie .chris .builder ;
1+ package io .csie .chris .builder . common ;
22
33public abstract class Builder {
44
Original file line number Diff line number Diff line change 1- package io .csie .chris .builder ;
1+ package io .csie .chris .builder . common ;
22
33public class Director {
44
Original file line number Diff line number Diff line change 1- package io .csie .chris .builder ;
1+ package io .csie .chris .builder . common ;
22
33import java .util .ArrayList ;
44
55public 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 ("\n Parts on product:" );
1616
17- for (String szPart : szParts ) System .out .println (szPart );
17+ for (String szPart : szParts )
18+ System .out .println (szPart );
1819 }
1920}
Original file line number Diff line number Diff 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 );
You can’t perform that action at this time.
0 commit comments