File tree Expand file tree Collapse file tree 5 files changed +100
-0
lines changed
Expand file tree Collapse file tree 5 files changed +100
-0
lines changed Original file line number Diff line number Diff line change 1+ package builder ;
2+
3+ /**
4+ * 测试类,生产一个金刚狼
5+ * @author Chayne_Shen 2017/3/10 0010.
6+ */
7+ public class BuilderTest {
8+ public static void main (String [] args ) {
9+ WolverineDirector director = new WolverineDirector ();
10+ XMan wolverine = director .constructWolverine (new WolverineBuilder ());
11+ }
12+ }
Original file line number Diff line number Diff line change 1+ package builder ;
2+
3+ /**
4+ * 金刚狼的builder
5+ * @author Chayne_Shen 2017/3/10 0010.
6+ */
7+
8+ public class WolverineBuilder implements XManBuilder {
9+ XMan mXMan ;
10+ WolverineBuilder () {
11+ mXMan = new XMan ();
12+ }
13+
14+ public WolverineBuilder buildXFactor () {
15+ mXMan .setxFactor ("claw" );
16+ System .out .println (mXMan .getxFactor ());
17+ return this ;
18+ }
19+
20+ public WolverineBuilder buildLover () {
21+ mXMan .setLover ("Jane" );
22+ System .out .println (mXMan .getLover ());
23+ return this ;
24+ }
25+
26+ public XMan buildXman () {
27+ System .out .println ("Wolverine is successfully built" );
28+
29+ return mXMan ;
30+ }
31+ }
Original file line number Diff line number Diff line change 1+ package builder ;
2+
3+ /**
4+ * 控制builder生产金刚狼
5+ * @author Chayne_Shen 2017/3/10 0010.
6+ */
7+
8+ public class WolverineDirector {
9+ public XMan constructWolverine (WolverineBuilder wolverineBuilder ) {
10+ return wolverineBuilder
11+ .buildXFactor ()
12+ .buildLover ()
13+ .buildXman ();
14+ }
15+ }
Original file line number Diff line number Diff line change 1+ package builder ;
2+
3+ /**
4+ * x战警通用属性
5+ * @author Chayne_Shen 2017/3/10 0010.
6+ */
7+
8+ public class XMan {
9+ private String xFactor ;
10+ private String lover ;
11+
12+ public String getxFactor () {
13+ return xFactor ;
14+ }
15+
16+ public XMan setxFactor (String xFactor ) {
17+ this .xFactor = xFactor ;
18+ return this ;
19+ }
20+
21+ public String getLover () {
22+ return lover ;
23+ }
24+
25+ public XMan setLover (String lover ) {
26+ this .lover = lover ;
27+ return this ;
28+ }
29+ }
Original file line number Diff line number Diff line change 1+ package builder ;
2+
3+ /**
4+ * x战警builder
5+ * @author Chayne_Shen 2017/3/9 0009.
6+ *
7+ */
8+
9+ public interface XManBuilder {
10+ XManBuilder buildXFactor ();
11+ XManBuilder buildLover ();
12+ XMan buildXman ();
13+ }
You can’t perform that action at this time.
0 commit comments