X Tutup
Skip to content

Commit b2bfdb1

Browse files
committed
Work on the DI example. Added second Wizard with injected Tobacco.
1 parent 8b9e829 commit b2bfdb1

File tree

7 files changed

+42
-17
lines changed

7 files changed

+42
-17
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.iluwatar;
2+
3+
public class AdvancedWizard implements Wizard {
4+
5+
private Tobacco tobacco;
6+
7+
public AdvancedWizard(Tobacco tobacco) {
8+
this.tobacco = tobacco;
9+
}
10+
11+
@Override
12+
public void smoke() {
13+
tobacco.smoke(this);
14+
}
15+
}

dependency-injection/src/main/java/com/iluwatar/App.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,10 @@
33
public class App {
44

55
public static void main( String[] args ) {
6-
Wizard wizard = new Wizard();
7-
wizard.smoke();
6+
SimpleWizard simpleWizard = new SimpleWizard();
7+
simpleWizard.smoke();
8+
9+
AdvancedWizard advancedWizard = new AdvancedWizard(new SecondBreakfastTobacco());
10+
advancedWizard.smoke();
811
}
912
}
Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,4 @@
11
package com.iluwatar;
22

3-
public class OldTobyTobacco implements Tobacco {
4-
5-
@Override
6-
public void smoke() {
7-
System.out.println(String.format("Smoking %s", this.getClass().getSimpleName()));
8-
}
3+
public class OldTobyTobacco extends Tobacco {
94
}
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.iluwatar;
2+
3+
public class SecondBreakfastTobacco extends Tobacco {
4+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.iluwatar;
2+
3+
public class SimpleWizard implements Wizard {
4+
5+
private OldTobyTobacco tobacco = new OldTobyTobacco();
6+
7+
public void smoke() {
8+
tobacco.smoke(this);
9+
}
10+
}
Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,8 @@
11
package com.iluwatar;
22

3-
public interface Tobacco {
3+
public abstract class Tobacco {
44

5-
public void smoke();
6-
5+
public void smoke(Wizard wizard) {
6+
System.out.println(String.format("%s smoking %s", wizard.getClass().getSimpleName(), this.getClass().getSimpleName()));
7+
}
78
}
Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,7 @@
11
package com.iluwatar;
22

3-
public class Wizard {
3+
public interface Wizard {
44

5-
private OldTobyTobacco tobacco = new OldTobyTobacco();
6-
7-
public void smoke() {
8-
tobacco.smoke();
9-
}
5+
void smoke();
6+
107
}

0 commit comments

Comments
 (0)
X Tutup