Hier ist eine Zusammenfassung des ** Adaptermusters ** im GoF-Entwurfsmuster.
Ein Programm, das Namen und Alter der Schüler anzeigt.
Dies ist die ursprünglich bereitgestellte Klasse.
Human.java
public class Human {
private String name;
private int age;
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public void printName() {
System.out.println(name);
}
public void printAge() {
System.out.println(age);
}
}
Die erforderliche Schnittstelle.
Student.java
public interface Student {
public abstract void showName();
public abstract void showAge();
}
Diese Klasse dient als Adapter.
HumanAdapter.java
public class HumanAdapter extends Human implements Student {
public HumanAdapter(String name, int age) {
super(name, age);
}
public void showName() {
printName();
}
public void showAge() {
printAge();
}
}
Diese Klasse führt die Hauptverarbeitung durch.
Main.java
public class Main {
public static void main(String[] args) {
Student student = new HumanAdapter("Tanaka", 25);
student.showName();
student.showAge();
}
}
Tanaka
25
Dies ist die ursprünglich bereitgestellte Klasse.
Human.java
public class Human {
private String name;
private int age;
public Human(String name, int age) {
this.name = name;
this.age = age;
}
public void printName() {
System.out.println(name);
}
public void printAge() {
System.out.println(age);
}
}
Die erforderliche Schnittstelle.
Student.java
public interface Student {
public abstract void showName();
public abstract void showAge();
}
Diese Klasse dient als Adapter.
HumanAdapter.java
public class HumanAdapter implements Student {
private Human human;
public HumanAdapter(String name, int age) {
this.human = new Human("Tanaka", 25);;
}
public void showName() {
human.printName();
}
public void showAge() {
human.printAge();
}
}
Diese Klasse führt die Hauptverarbeitung durch.
Main.java
public class Main {
public static void main(String[] args) {
Student student = new HumanAdapter("Tanaka", 25);
student.showName();
student.showAge();
}
}
Tanaka
25
Das Adaptermuster deckt eine vorhandene Klasse ab, um die erforderliche Klasse zu erstellen. Mit diesem Muster können Sie schnell die Methoden erstellen, die Sie benötigen. Selbst wenn ein Fehler erkannt wird und die vorhandene Klasse gut getestet ist, können Sie sich auf die Klasse konzentrieren, die die Rolle des Adapters spielt, was das Überprüfen des Programms erleichtert. Darüber hinaus können Sie mit dem Adaptermuster Funktionen implementieren, ohne vorhandene Klassen zu ändern, wodurch der Aufwand für das erneute Testen vorhandener Klassen verringert wird.
Dieser Artikel und das Beispielprogramm wurden basierend auf den folgenden Büchern erstellt.
Es war sehr leicht zu verstehen und ich habe viel gelernt. Vielen Dank. Die detaillierten Erklärungen zu den Entwurfsmustern und Beispielprogrammen sind geschrieben. Schauen Sie sich also auch die Bücher an.
Recommended Posts