Skip to content

Commit 5ad8d6a

Browse files
committed
Structural Design Patterns :
Adapter design pattern type
1 parent 65cda5d commit 5ad8d6a

File tree

7 files changed

+138
-2
lines changed

7 files changed

+138
-2
lines changed

README.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,11 +25,15 @@ Graph :
2525
3. Sum Array
2626
4. Anagram
2727

28-
Design Patterns:
29-
Creational Design Patternn:
28+
Design Patterns:
29+
30+
Creational Design Pattern:
3031
1. Singleton Pattern
3132
2. Factory Pattern
3233
3. Builder Pattern
3334
4. Prototype Pattern
3435

36+
Structural Design Pattern:
37+
1. Adapter Design Pattern
38+
3539
Currently, process is going on, will update soon.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public class AdapterDesignPatternDemo {
4+
5+
public static void main(String[] arg){
6+
7+
testClassAdapter();
8+
testObjectAdapter();
9+
}
10+
11+
private static void testObjectAdapter() {
12+
// TODO Auto-generated method stub
13+
14+
SocketAdapter socketAdapter = new AdapterDesign_ObjectImpDemo();
15+
System.out.println("120 volt used "+socketAdapter.get120Volt().getVolts()+" object adapter");
16+
System.out.println("12 volt used "+socketAdapter.get12Volt().getVolts()+" object adapter");
17+
System.out.println("3 volt used "+socketAdapter.get3Volt().getVolts()+" object adapter");
18+
}
19+
20+
private static void testClassAdapter() {
21+
// TODO Auto-generated method stub
22+
SocketAdapter socketAdapter = new AdapterDesign_InterfaceImpDemo();
23+
24+
System.out.println("120 volt used "+socketAdapter.get120Volt().getVolts()+" adapter");
25+
System.out.println("12 volt used "+socketAdapter.get12Volt().getVolts()+" adapter");
26+
System.out.println("3 volt used "+socketAdapter.get3Volt().getVolts()+" adapter");
27+
28+
}
29+
30+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public class AdapterDesign_InterfaceImpDemo extends Socket implements SocketAdapter{
4+
5+
@Override
6+
public Volt get120Volt() {
7+
// TODO Auto-generated method stub
8+
return getVolts();
9+
}
10+
11+
@Override
12+
public Volt get12Volt() {
13+
// TODO Auto-generated method stub
14+
return convertVolt(getVolts(), 10);
15+
}
16+
17+
18+
19+
@Override
20+
public Volt get3Volt() {
21+
// TODO Auto-generated method stub
22+
return convertVolt(getVolts(), 40);
23+
}
24+
25+
26+
private Volt convertVolt(Volt volts, int i) {
27+
// TODO Auto-generated method stub
28+
return new Volt(volts.getVolts()/i);
29+
}
30+
31+
32+
33+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public class AdapterDesign_ObjectImpDemo implements SocketAdapter{
4+
5+
private Socket socket = new Socket();
6+
7+
@Override
8+
public Volt get120Volt() {
9+
// TODO Auto-generated method stub
10+
return socket.getVolts();
11+
}
12+
13+
@Override
14+
public Volt get12Volt() {
15+
// TODO Auto-generated method stub
16+
return convertVolt(socket.getVolts(), 12);
17+
}
18+
19+
20+
@Override
21+
public Volt get3Volt() {
22+
// TODO Auto-generated method stub
23+
return convertVolt(socket.getVolts(), 40);
24+
}
25+
26+
27+
private Volt convertVolt(Volt volts, int i) {
28+
// TODO Auto-generated method stub
29+
return new Volt(volts.getVolts()/i);
30+
}
31+
32+
33+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public class Socket {
4+
5+
public Volt getVolts(){
6+
return new Volt(120);
7+
}
8+
9+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public interface SocketAdapter {
4+
5+
public abstract Volt get120Volt();
6+
public abstract Volt get12Volt();
7+
public abstract Volt get3Volt();
8+
9+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.design_pattern.structural.adapter;
2+
3+
public class Volt {
4+
5+
private int volts;
6+
public Volt(int volt){
7+
this.volts = volt;
8+
}
9+
10+
public int getVolts(){
11+
return volts;
12+
}
13+
14+
public void setVolts(int volt){
15+
this.volts = volt;
16+
}
17+
18+
}

0 commit comments

Comments
 (0)