Skip to content

Commit 68fc4fd

Browse files
authored
修复25章-模板方法模式中的代码格式问题 (#590)
* 修改25章-模板方法模式中的代码格式问题 * fix more code format error
1 parent cb4f1ab commit 68fc4fd

File tree

1 file changed

+45
-13
lines changed

1 file changed

+45
-13
lines changed

docs/book/25-Patterns.md

Lines changed: 45 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -122,8 +122,26 @@ abstract class ApplicationFramework {
122122

123123
abstract void customize1();
124124

125-
abstract void customize2(); // "private" means automatically "final": private void templateMethod() { IntStream.range(0, 5).forEach( n -> { customize1(); customize2(); }); }}// Create a new "application": class MyApp extends ApplicationFramework { @Override void customize1() { System.out.print("Hello "); }@Override
125+
abstract void customize2();
126+
127+
// "private" means automatically "final":
128+
private void templateMethod() {
129+
IntStream.range(0, 5).forEach(
130+
n -> {
131+
customize1();
132+
customize2();
133+
});
134+
}
135+
}
126136

137+
// Create a new "application":
138+
class MyApp extends ApplicationFramework {
139+
@Override
140+
void customize1() {
141+
System.out.print("Hello ");
142+
}
143+
144+
@Override
127145
void customize2() {
128146
System.out.println("World!");
129147
}
@@ -134,8 +152,7 @@ public class TemplateMethod {
134152
new MyApp();
135153
}
136154
}
137-
/*
138-
Output:
155+
/* Output:
139156
Hello World!
140157
Hello World!
141158
Hello World!
@@ -245,8 +262,20 @@ class State implements StateBase {
245262
@Override
246263
public void changeImp(StateBase newImp) {
247264
implementation = newImp;
248-
}// Pass method calls to the implementation: @Override public void f() { implementation.f(); } @Override public void g() { implementation.g(); } @Override
265+
}
249266

267+
// Pass method calls to the implementation:
268+
@Override
269+
public void f() {
270+
implementation.f();
271+
}
272+
273+
@Override
274+
public void g() {
275+
implementation.g();
276+
}
277+
278+
@Override
250279
public void h() {
251280
implementation.h();
252281
}
@@ -302,7 +331,8 @@ public class StateDemo {
302331
}
303332

304333
public static void main(String[] args) {
305-
StateBase b = new State(new Implementation1());
334+
StateBase b =
335+
new State(new Implementation1());
306336
test(b);
307337
b.changeImp(new Implementation2());
308338
test(b);
@@ -349,9 +379,6 @@ interface State {
349379
abstract class StateMachine {
350380
protected State currentState;
351381

352-
Nap(0.5);
353-
System.out.println("Washing"); new
354-
355382
protected abstract boolean changeState();
356383

357384
// Template method:
@@ -362,9 +389,12 @@ System.out.println("Washing"); new
362389
}
363390

364391
// A different subclass for each state:
392+
365393
class Wash implements State {
366394
@Override
367395
public void run() {
396+
System.out.println("Washing");
397+
new Nap(0.5);
368398
}
369399
}
370400

@@ -386,9 +416,11 @@ class Rinse implements State {
386416

387417
class Washer extends StateMachine {
388418
private int i = 0;
389-
390419
// The state table:
391-
private State[] states = {new Wash(), new Spin(), new Rinse(), new Spin(),};
420+
private State[] states = {
421+
new Wash(), new Spin(),
422+
new Rinse(), new Spin(),
423+
};
392424

393425
Washer() {
394426
runAll();
@@ -401,7 +433,8 @@ class Washer extends StateMachine {
401433
// surrogate reference to a new object:
402434
currentState = states[i++];
403435
return true;
404-
} else return false;
436+
} else
437+
return false;
405438
}
406439
}
407440

@@ -410,8 +443,7 @@ public class StateMachineDemo {
410443
new Washer();
411444
}
412445
}
413-
/*
414-
Output:
446+
/* Output:
415447
Washing
416448
Spinning
417449
Rinsing

0 commit comments

Comments
 (0)