Beim Lesen der Java-Quelle
User user = new User();
Jeder kann die Beschreibung sehen. Ja, Instanziierung.
Ich habe das an sich verstanden, aber als ich das Programm tatsächlich berührte, war ich durch die folgende Beschreibung verwirrt.
check.java
public boolean userExists(String userId) {
//Benutzertypvariable verwenden
User user = select.selectOne(userId);
if (user == null) {
return false;
}
return true;
}
Es wurde plötzlich als "Benutzer Benutzer" ohne neu beschrieben. Für mich, der vage dachte: "Wenn ich eine andere Klasse benutze, bin ich neu", verstehe ich nicht warum.
Aber das war einfach mein Missverständnis.
Betrachten Sie den Inhalt der obigen Methode select.selectOne (userId);
select.java
public User selectOne(String userId) {
//Holen Sie sich 1 Daten
Map<String, Object> map = jdbc.queryForMap("SELECT * FROM m_user "
+ "WHERE user_id = ?"
, userId);
//Variablen für die Rückgabe von Ergebnissen
User user = new User();
//Stellen Sie die erfassten Daten auf Benutzer ein
user.setUserId((String) map.get("user_id")); //Benutzeridentifikation
user.setUserName((String) map.get("user_name")); //Nutzername
//Benutzerinstanz zurückgeben
return user;
}
Es ist geworden. Ja, es führt fest "User user = new User ();" und new aus und gibt diese Benutzerinstanz als Rückgabewert zurück. Mit anderen Worten, da die Benutzerinstanz bereits erstellt wurde, musste in der ersten check.java-Klasse keine neue erstellt werden.
Wenn Sie mich fragen, würde ich nicht wissen, ob ich jedes Mal eine neue Instanz erstellt habe. ..
Aus diesem Grund habe ich den Satz "Das Timing für Neues ist (nur), wenn Sie es verwenden" etwas tiefer verstanden. vielleicht.
Erstellen Sie im Befehlsmuster im Voraus einen Befehl und führen Sie den erstellten Befehl bei Bedarf aus. Genau wie das vorherige Installieren (Vorbereiten) von Befehlen unter Linux usw. und das Ausführen der Befehle bei Bedarf.
Vielen Dank für den Hinweis. Java ist immer noch tief, nicht wahr? Ich hatte noch nie von dem Befehlsmuster gehört, also habe ich es nachgeschlagen, aber ich konnte es nicht herausfinden, indem ich es mir ansah. Ich werde in Zukunft Designmuster studieren. Vielen Dank für Ihre gute Gelegenheit.
Recommended Posts