Maison Java javaDidacticiel Nouveau mouvement Java : développement piloté par les tests 3 ---enregistrement des utilisateurs 2

Nouveau mouvement Java : développement piloté par les tests 3 ---enregistrement des utilisateurs 2

Dec 30, 2016 pm 01:13 PM

Le développement piloté par les tests (TDD) n'est en réalité pas un concept nouveau, mais l'essence de cette méthodologie est souvent mal comprise. Dans mon cas, je pense que le développement piloté par les tests signifie écrire des tests unitaires pour tester complètement le code. En fait, c'est l'un des malentendus les plus courants concernant le développement piloté par les tests. Le développement piloté par les tests met non seulement l'accent sur les tests, mais également sur le développement piloté. Le but de l'écriture de cas de test n'est pas seulement des tests, mais aussi une conception, une conception de fonctions et d'interfaces, et une conception du point de vue des utilisateurs de fonctions ou d'interfaces, tandis que la conception dans d'autres méthodologies est une conception du point de vue d'un développeur, donc le développement piloté par les tests est plus propice à la production de bonnes conceptions.

Mais il ne suffit pas de simplement concevoir en testant et en exécutant des tests pour garantir la qualité du code pour produire des produits logiciels de haute qualité. Le développement piloté par les tests met également l'accent sur la refactorisation, ce qui signifie refactoriser les parties déraisonnables du code, et cette refactorisation doit être effectuée chaque fois que nous écrivons des tests, développons et vérifions le processus. Puisqu'il existe des cas de test pour le garantir, nous pouvons l'être. Refactorez avec confiance et audace sans vous soucier des conséquences imprévues.

De retour dans notre projet, dans MainServlet, nous avons implémenté toute la logique métier, mais nous nous rendrons vite compte que si toute la logique applicative est écrite dans cette classe, cette classe deviendra Si elle devient un géant, elle finira par devenir impossible à maintenir, nous devons donc placer l'implémentation de la logique métier d'enregistrement des utilisateurs dans le module utilisateur. Comme vous pouvez le constater, nous avons commencé à reconstruire notre système.

Tout d'abord, nous créons le package utilisateur et créons la classe UserMngr sous ce package, car nous estimons qu'en plus de conserver les informations utilisateur de base, le module utilisateur doit également gérer les groupes d'utilisateurs, les niveaux d'utilisateurs, les points utilisateur. et d'autres informations. Il n'est pas nécessaire que l'appelant comprenne pleinement ces détails, nous utilisons donc ici le mode Façade et toutes les opérations sur l'utilisateur sont effectuées via UserMngr. Le code est le suivant :

public class UserMngr {  
    public static long registerUser(Map<String, Object> userInfo) {  
        return 101;  
    }  
}
Copier après la connexion

On voit que dans cette classe, on renvoie seulement une valeur et on ne fait rien, afin de vérifier rapidement que notre architecture reconstruite peut fonctionner spécifiquement. Des fonctionnalités pourront être ajoutées ultérieurement. De plus, vous devez faire attention aux éléments de paramètres. L'objet Map est utilisé ici, c'est-à-dire que les paramètres sont transmis dans un tableau similaire à PHP. Il est plus courant en Java de concevoir une classe d'objets de valeur à cet effet, mais cela entraîne souvent la définition de nombreuses classes d'objets de valeur, ou en raison du besoin de partage, un objet de valeur est très volumineux. Ici, Map est utilisé pour transmettre des paramètres. , ce qui élimine le besoin de tels problèmes.

Ajoutez le code pour appeler le module utilisateur dans le MainServlet ci-dessous :

private void registerUser(HttpServletRequest request, HttpServletResponse response) 
			throws IOException, ServletException {
		String userName = null;
		if (request.getParameter("userName") != null) {
			userName = request.getParameter("userName");
		}
		Map<String, Object> userInfo = new HashMap<String, Object>();
		userInfo.put("userName", userName);
		long userId = UserMngr.registerUser(userInfo);
		Map<String, Object> model = new HashMap<String, Object>();
		model.put("userId", "" + userId);
		request.setAttribute("model", model);
		/*this.getServletContext().getRequestDispatcher("/caporder/apply_capital.jsp")
			.forward(request, response);*/
	}
Copier après la connexion

Exécutez le scénario de test ci-dessous et il devrait réussir. Cela prouve que ma reconstruction de l'architecture est réussie cette fois. .

Ce qui précède est le contenu du nouveau mouvement Java : développement piloté par les tests 3 --- enregistrement de l'utilisateur 2. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois (www.php.cn) !


Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Pourquoi ne puis-je pas m'inscrire à l'échange Bitget Wallet ? Pourquoi ne puis-je pas m'inscrire à l'échange Bitget Wallet ? Sep 06, 2024 pm 03:34 PM

Il existe diverses raisons pour lesquelles il est impossible de s'inscrire à l'échange BitgetWallet, notamment les restrictions de compte, les régions non prises en charge, les problèmes de réseau, la maintenance du système et les pannes techniques. Pour vous inscrire à l'échange BitgetWallet, veuillez visiter le site officiel, remplir les informations, accepter les conditions, terminer l'inscription et vérifier votre identité.

Entrance officielle du site officiel Deepseek et dernières activités promotionnelles Entrance officielle du site officiel Deepseek et dernières activités promotionnelles Feb 19, 2025 pm 05:15 PM

Le site officiel de Deepseek lance désormais plusieurs activités de réduction pour offrir aux utilisateurs une expérience d'achat. Les nouveaux utilisateurs s'inscrivent pour obtenir un coupon de 10 $ et profitez d'une remise à temps limitée de 15% pour l'ensemble de l'audience. Recommander des amis peut également gagner des récompenses, et vous pouvez accumuler des points pour le rachat de cadeaux lors du shopping. Les délais d'événements sont différents.

Break or Return of Java 8 Stream Forach? Break or Return of Java 8 Stream Forach? Feb 07, 2025 pm 12:09 PM

Java 8 présente l'API Stream, fournissant un moyen puissant et expressif de traiter les collections de données. Cependant, une question courante lors de l'utilisation du flux est: comment se casser ou revenir d'une opération FOREAK? Les boucles traditionnelles permettent une interruption ou un retour précoce, mais la méthode Foreach de Stream ne prend pas directement en charge cette méthode. Cet article expliquera les raisons et explorera des méthodes alternatives pour la mise en œuvre de terminaison prématurée dans les systèmes de traitement de flux. Lire plus approfondie: Améliorations de l'API Java Stream Comprendre le flux Forach La méthode foreach est une opération terminale qui effectue une opération sur chaque élément du flux. Son intention de conception est

Plateforme de trading de sites Web officiels de la porte ouverte Sesame Sesame Entrée d'enregistrement d'échange de site Web Open Door Plateforme de trading de sites Web officiels de la porte ouverte Sesame Sesame Entrée d'enregistrement d'échange de site Web Open Door Feb 28, 2025 am 10:57 AM

Gate.io Sesame Open est la principale plate-forme de trading d'actifs numériques au monde, y compris le trading de devises Fiat, le trading de devises, le trading à effet de levier, les contrats perpétuels, les jetons à effet de levier ETF, la gestion de la patrimoine, l'offre publique initiale de démarrage et d'autres sections, offrant aux utilisateurs la sécurité, la stabilité, l'ouverture et la transparence.

Java Made Simple : un guide du débutant sur la puissance de programmation Java Made Simple : un guide du débutant sur la puissance de programmation Oct 11, 2024 pm 06:30 PM

Java Made Simple : Guide du débutant sur la puissance de programmation Introduction Java est un langage de programmation puissant utilisé dans tout, des applications mobiles aux systèmes d'entreprise. Pour les débutants, la syntaxe de Java est simple et facile à comprendre, ce qui en fait un choix idéal pour apprendre la programmation. Syntaxe de base Java utilise un paradigme de programmation orienté objet basé sur les classes. Les classes sont des modèles qui organisent ensemble les données et les comportements associés. Voici un exemple simple de classe Java : publicclassPerson{privateStringname;privateintage;

Créer l'avenir : programmation Java pour les débutants absolus Créer l'avenir : programmation Java pour les débutants absolus Oct 13, 2024 pm 01:32 PM

Java est un langage de programmation populaire qui peut être appris aussi bien par les développeurs débutants que par les développeurs expérimentés. Ce didacticiel commence par les concepts de base et progresse vers des sujets avancés. Après avoir installé le kit de développement Java, vous pouvez vous entraîner à la programmation en créant un simple programme « Hello, World ! ». Une fois que vous avez compris le code, utilisez l'invite de commande pour compiler et exécuter le programme, et « Hello, World ! » s'affichera sur la console. L'apprentissage de Java commence votre parcours de programmation et, à mesure que votre maîtrise s'approfondit, vous pouvez créer des applications plus complexes.

Programme Java pour trouver le volume de la capsule Programme Java pour trouver le volume de la capsule Feb 07, 2025 am 11:37 AM

Les capsules sont des figures géométriques tridimensionnelles, composées d'un cylindre et d'un hémisphère aux deux extrémités. Le volume de la capsule peut être calculé en ajoutant le volume du cylindre et le volume de l'hémisphère aux deux extrémités. Ce tutoriel discutera de la façon de calculer le volume d'une capsule donnée en Java en utilisant différentes méthodes. Formule de volume de capsule La formule du volume de la capsule est la suivante: Volume de capsule = volume cylindrique volume de deux hémisphères volume dans, R: Le rayon de l'hémisphère. H: La hauteur du cylindre (à l'exclusion de l'hémisphère). Exemple 1 entrer Rayon = 5 unités Hauteur = 10 unités Sortir Volume = 1570,8 unités cubes expliquer Calculer le volume à l'aide de la formule: Volume = π × r2 × h (4

Tutoriel d'enregistrement et de trading des débutants de Gate.io Exchange Tutoriel d'enregistrement et de trading des débutants de Gate.io Exchange Feb 21, 2025 pm 09:54 PM

Gate.io Exchange est l'une des principales plateformes de trading de crypto-monnaie au monde. Ce guide fournit des tutoriels étape par étape pour aider les utilisateurs à s'inscrire et à échanger avec Gate.io. Le processus d'enregistrement comprend la sélection de la méthode d'enregistrement (téléphone, e-mail ou compte social), remplir des informations, définir un mot de passe de connexion et compléter l'authentification de l'identité. Les tutoriels de trading incluent l'accès aux pages de trading, la sélection de paires de trading, la saisie des informations de trading, la mise en place d'une commande et la visualisation de l'état de la commande. Avec les conseils de cet article, les utilisateurs peuvent facilement commencer à négocier la crypto-monnaie sur gate.io.

See all articles