Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 112903b

Browse files
adapter pattern
designed with computer driver application.
1 parent 624b910 commit 112903b

File tree

5 files changed

+86
-0
lines changed

5 files changed

+86
-0
lines changed

‎design-pattern/adapter/Driver.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package sdp.adapter;
2+
3+
/**
4+
*
5+
* @author rafiul islam
6+
*/
7+
public interface Driver {
8+
public void engine(String support);
9+
}

‎design-pattern/adapter/Main.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package sdp.adapter;
2+
3+
/**
4+
*
5+
* @author rafiul islam
6+
*/
7+
public class Main {
8+
public static void main(String[] args) {
9+
Windows pc = new Windows();
10+
pc.execute("exe");
11+
pc.execute("py");
12+
13+
Python python = new Python();
14+
pc.install("py", python);
15+
pc.execute("py");
16+
}
17+
}

‎design-pattern/adapter/OS.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package sdp.adapter;
2+
3+
/**
4+
*
5+
* @author rafiul islam
6+
*/
7+
public interface OS {
8+
public void install(String type, Driver driver);
9+
public void execute(String type);
10+
}

‎design-pattern/adapter/Python.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package sdp.adapter;
2+
3+
/**
4+
*
5+
* @author rafiul islam
6+
*/
7+
public class Python implements Driver{
8+
9+
@Override
10+
public void engine(String type){
11+
System.out.println("Python interpreter engine: "+type);
12+
}
13+
}

‎design-pattern/adapter/Windows.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package sdp.adapter;
2+
3+
import java.util.HashMap;
4+
5+
/**
6+
*
7+
* @author rafiul islam
8+
*/
9+
public class Windows implements OS{
10+
private HashMap installedDrivers;
11+
12+
public Windows(){
13+
installedDrivers = new HashMap();
14+
}
15+
16+
@Override
17+
public void install(String type, Driver driver){
18+
installedDrivers.put(type, driver);
19+
}
20+
21+
@Override
22+
public void execute(String type){
23+
type = type.toLowerCase();
24+
if(type == "exe" || type == "msi"){
25+
System.out.println("Windows default execution engine: "+type);
26+
}
27+
else{
28+
Driver driver = (Driver)installedDrivers.get(type);
29+
if(driver == null){
30+
System.out.println("No supported driver found");
31+
}
32+
else{
33+
driver.engine(type);
34+
}
35+
}
36+
}
37+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /