[Java débutant] J'ai une compréhension un peu plus approfondie de "Il est temps d'utiliser le nouveau", alors prenez note

Lors de la lecture du source Java User user = new User(); Tout le monde peut voir la description. Oui, instanciation.

J'en suis venu à comprendre cela en soi, mais lorsque j'ai réellement touché au programme, j'ai été dérouté par la description suivante.

check.java



public boolean userExists(String userId) {

	//Utiliser la variable de type utilisateur
	User user = select.selectOne(userId);

	if (user == null) {
		return false;
	}

	return true;
}

Il a été soudainement décrit comme «utilisateur utilisateur» sans nouveau. Pour moi, qui avais vaguement pensé: «Quand j'utilise une autre classe, je suis nouveau», je ne comprends pas pourquoi.

Mais c'était simplement mon malentendu.

En regardant le contenu de la méthode ci-dessus select.selectOne (userId);

select.java


public User selectOne(String userId) {
	
	//Obtenez 1 données
	Map<String, Object> map = jdbc.queryForMap("SELECT * FROM m_user "
		+ "WHERE user_id = ?"
		, userId);

	//Variables pour renvoyer les résultats
	User user = new User();

	//Définissez les données acquises sur l'utilisateur
	user.setUserId((String) map.get("user_id"));		//Identifiant d'utilisateur
	user.setUserName((String) map.get("user_name"));	//Nom d'utilisateur

	//Renvoyer l'instance utilisateur
	return user;
}

Il est devenu. Oui, je fais fermement ʻUser user = new User (); `et new, et je renvoie cette instance d'utilisateur comme valeur de retour. En d'autres termes, puisque l'instance User a déjà été créée, il n'était pas nécessaire d'en créer une nouvelle dans la première classe check.java.

Si vous me le demandez, je ne saurais pas si j'ai créé une nouvelle instance à chaque fois. ..

C'est pourquoi j'ai acquis une compréhension un peu plus profonde de la phrase: "Le moment du nouveau est (seulement) lorsque vous l'utilisez." peut être.

Dans le modèle Commande, créez une commande à l'avance et exécutez la commande créée si nécessaire. Tout comme installer (préparer) des commandes à l'avance sur Linux etc. et exécuter les commandes si nécessaire.

Merci d'avoir souligné. Java est encore profond, n'est-ce pas? Je n'avais jamais entendu parler du modèle de commandement, alors je l'ai recherché, mais je ne pouvais pas le comprendre simplement en le regardant. J'étudierai les modèles de conception à l'avenir. Merci beaucoup pour votre bonne opportunité.

Recommended Posts

[Java débutant] J'ai une compréhension un peu plus approfondie de "Il est temps d'utiliser le nouveau", alors prenez note
[JAVA] Project Euler, je suis resté coincé au Q8, alors prenez note
J'ai créé un client RESAS-API en Java
Je voulais que (a == 1 && a == 2 && a == 3) vrai en Java
J'étais un peu accro à la comparaison S3 Checksum, alors prenez note.
[Petite histoire] J'ai essayé de rendre java ArrayList un peu plus pratique
[Java] J'ai étudié le polymorphisme, je vais donc résumer comment l'utiliser et ses mérites.
J'ai essayé de créer un nouvel algorithme de tri, mais je ne sais pas si c'est vraiment nouveau
Comme je l'utilise souvent, je note les choses liées à DB sur Android.
J'ai lu le code lisible, alors prends note
Je veux utiliser une petite icône dans Rails
J'ai essayé de créer une fonction de connexion avec Java
clone de kintone? J'étais assez accro au lancement de l'extension OSS WebDB avec Lightsail + Docker, alors prenez-en note.
Une note gênante lorsque vous essayez d'utiliser nginx avec des conteneurs distants de vscode
[Débutant] Essayez de créer un jeu RPG simple avec Java ①
[Débutant] J'ai créé un programme pour vendre des gâteaux en Java
Je souhaite créer un modèle spécifique d'ActiveRecord ReadOnly
Je veux faire une liste avec kotlin et java!
Je voulais juste créer une propriété réactive en Java
Je veux créer une fonction avec kotlin et java!
J'ai réussi le test Java niveau 2, je vais donc laisser une note
[Java] J'ai essayé de faire un labyrinthe par la méthode de creusage ♪
Je suis inquiet de produire avec JAVA et XML, alors notez ce que j'essaie de faire sans oublier (afficher dans l'instruction for)
Comment créer un conteneur Java
Comment créer un tableau Java
Comprendre un peu la formule lambda
J'étais accro à un simple test de Jedis (bibliothèque Java-> Redis)
Un débutant Java a essayé de créer une application Web simple à l'aide de Spring Boot
[Java] Comment utiliser une sous-chaîne pour découper une partie d'une chaîne de caractères
[Java] Notez comment utiliser RecyclerView et comment implémenter le traitement par balayage animé.
J'ai essayé d'utiliser pleinement le cœur du processeur avec Ruby
J'ai essayé de créer une application de conversation en Java à l'aide de l'IA «A3RT»
J'ai essayé de traduire la grammaire de R et Java [Mis à jour de temps en temps]