File tree Expand file tree Collapse file tree
src/com/anxpp/designpattern/builder Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11package com .anxpp .designpattern .builder ;
22
3- //具体生成器
3+ // 具体生成器
44public class DateBuilder1 implements IDateBuilder {
5- private MyDate myDate ;
5+ private final MyDate myDate ;
66
77 public DateBuilder1 (MyDate myDate ) {
88 this .myDate = myDate ;
99 }
1010
1111 @ Override
12- public IDateBuilder buildDate (int y , int m , int d ) {
13- myDate .date = y + "-" + m + "-" + d ;
12+ public IDateBuilder buildDate (int year , int month , int day ) {
13+ myDate .date = year + "-" + month + "-" + day ;
1414 return this ;
1515 }
1616
Original file line number Diff line number Diff line change 22
33//具体生成器
44public class DateBuilder2 implements IDateBuilder {
5- private MyDate myDate ;
5+ private final MyDate myDate ;
66
77 public DateBuilder2 (MyDate myDate ) {
88 this .myDate = myDate ;
99 }
1010
1111 @ Override
12- public IDateBuilder buildDate (int y , int m , int d ) {
13- myDate .date = y + " " + m + " " + d ;
12+ public IDateBuilder buildDate (int year , int month , int day ) {
13+ myDate .date = year + " " + month + " " + day ;
1414 return this ;
1515 }
1616
Original file line number Diff line number Diff line change 1- package com .anxpp .designpattern .builder ;
2-
3- //指挥者
4- public class Derector {
5- private IDateBuilder builder ;
6-
7- public Derector (IDateBuilder builder ) {
8- this .builder = builder ;
9- }
10-
11- public String getDate (int y , int m , int d ) {
12- builder .buildDate (y , m , d );
13- return builder .date ();
14- }
15- }
1+ package com .anxpp .designpattern .builder ;
2+
3+ //指挥者
4+ public class Director {
5+ private final IDateBuilder builder ;
6+
7+ public Director (IDateBuilder builder ) {
8+ this .builder = builder ;
9+ }
10+
11+ public String getDate (int y , int m , int d ) {
12+ builder .buildDate (y , m , d );
13+ return builder .date ();
14+ }
15+ }
Original file line number Diff line number Diff line change 11package com .anxpp .designpattern .builder ;
22
33public class TestUse {
4- public static void main (String args [] ) {
4+ public static void main (String [] args ) {
55 MyDate date = new MyDate ();
66 IDateBuilder builder ;
77 builder = new DateBuilder1 (date ).buildDate (2066 , 3 , 5 );
You can’t perform that action at this time.
0 commit comments