|
Structural Design Patterns |
|
I. Adapter Pattern:
Structural Design Patterns This pattern
establishes a relationship between the two
unrelated interfaces such that they work
together. This is similar to the conversion of
one interface of one class to the interface
expected by the client. To understand clearly
lets take an example:
Suppose there are several sockets of different
sizes, and shapes in a house. Due to variation
in sizes, all the sockets are not capable of plugin
a mobile charger. So we use an Adapter to
make it portable across different sockets. Here
Adapter works as a connector. This connector
connects them together and meets the purpose
of the client.
Benefits: It helps the developers to relate the
unrelated class such that they may work
together. It provides compatibility between the
classes and increases the transparency.
Additionally it provides a pluggable kit, delegates
objects, makes the classes highly reusable and achieves the goal through inheritance or
composition.
It also tries to match the interfaces such as WindowAdapter, KeyAdapter, MouseAdapter, ContainerAdapter, ComponentAdapter,
FocusAdapter and MouseMotionAdapter.
Usage: The adapter pattern is meant to use
an existing class to fulfill the client’s class requirements. For example, suppose a client
specifies his requirement in an interface, and
then to meet the purpose usually a class is created that implements the required
interface and inherits the existing class into
the subclasses. This approach creates a class
known as the adapter class which translates
the client’s calls to the existing class methods. Adapter pattern also helps to make improvements in the new code and to make
the code more manageable. It improves the
performance while designing the system.
Now think all such things technically and try
to resolve the problem. There are two ways
of implementing the Adapter Pattern, either
use the Inheritance or use the composition.
|
|
Let’s do it with the approach of Inheritance
First develop a socket interface as:
Switch.java
public interface Switch {
public void switchOn();
public void switchOff();
}
Implement Switch.java in a class say Fan
class. The class is given below:
Fan. java
public class Fan implements Switch{
public void switchOn() {
System.out.println(“FAN Switched ON”);
}
public void switchOff() {
System.out.println(“FAN Switched OFF”);
}
public static void main(String arg[]){
Fan f = new Fan();
f.switchOn();
f.switchOff();
}}
Here is the output of the above Fan.java
program:
C:\>javac Fan.java
C:\>java Fan
Fan Switched ON
Fan Switched OFF
Finally, there will be an adapter class. This will
inherit the Switch and give output for Fan. |
|
Oct 2007 | Java Jazz Up | 50 |
|
|
|
Pages:
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
29,
30,
31,
32,
33,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
51,
52,
53 ,
54,
55,
56,
57,
58,
59,
60,
61,
62,
63 ,
64,
65 ,
66 ,
67 ,
68 ,
69 ,
70,
71,
72,
73,
74,
75,
76,
77,
78,
Download PDF |
|
|
|
|
|
|
|
|
|