[JAVA] Modéliser Digimon avec DDD pour la première fois Partie 1

C'est un mémo qui maintient le flux de pensée pour écrire le calendrier de l'Avent.

Je fais du DDD en interne, mais je n'ai jamais pratiqué le DDD. Essayons DDD individuellement. N'est-il pas plus facile de modéliser ce que vous aimez? J'ai pensé, j'ai décidé d'exprimer mon aventure Digimon préférée dans DDD, Jusqu'à maintenant.

je n'ai pas d'expérience Je l'ai acheté dans une librairie technique Trajectoire de Chibi Dragon voyageant à travers la forêt de modélisation mokumoku https://taimen.jp/f/867 Essayez en référence à

Matière

En parlant de Digimon Adventure L'évolution de Digimon est également bonne, La croissance des enfants est également bonne Il y en a plusieurs, mais Si vous le répandez trop, vous ne pouvez rien faire, Cette fois, j'essaierai "Agmon" comme thème.

La modélisation

Cas d'utilisation

J'ai essayé d'écrire «Qui fait quoi et cela arrive» dans le livre, alors je l'ai écrit.

--Quand Agmon évolue, il devient Graymon --Gramon devient un Gramon métal super-évolutif --Lorsque Graymon évolue vers les ténèbres, il devient Skull Graymon. ――Lorsque Metal Graymon évolue vers l'ultime, il devient War Graymon --Lorsque Agmon évolue en chaîne, il devient un greymon de guerre.

Où j'étais inquiet

Agmon deviendra-t-il War Graymon quand il évoluera en chaîne? Ou l'évolution de la chaîne est-elle l'évolution de l'agnon, du greymon, du greymon métallique et du greymon de guerre dans cet ordre? Dans l'anime, chaque fois que vous évoluez vers Metal Graymon, vous entrez toujours dans la scène de l'évolution vers Graymon, Lorsque vous évoluerez vers War Graymon, vous entrerez dans le mouvement évolutif d'Agmon, non? Y penser Je suis une évolution de la chaîne d'Agmon vers War Graymon. Je me suis arrêté sur la définition de. Ainsi, après confirmation officielle, il semble que l'évolution de Metal Graymon à War Graymon soit l'évolution ultime. http://digimon-adventure.net/tri/evolution/agumon.html En d'autres termes, «évolution ultime» et «évolution de distorsion» sont des mots séparés.

Glossaire

Ensuite, dans le livre, lorsque vous avez un cas d'utilisation, Extrayons des mots qui correspondent à des personnes, des choses et des choses. Parce que c'est écrit, pratiquez. Ce à quoi je pensais ici, c'est que «les gens, les choses, les choses» était une nomenclature. Le verbe «évoluer» ne doit donc pas être omis ici.

--Agmon --Gramon --Métal Graymon

Modèle de domaine

Modèle de domaine ici. Les agmons répertoriés dans le glossaire sont utilisés comme domaines. Tracez une ligne sur le domaine pertinent en fonction du cas d'utilisation.

dijimon.png

Ça ressemble à ça. Ensuite, j'écris un diagramme de classe avec ceci.

Recommended Posts

Modéliser Digimon avec DDD pour la première fois Partie 1
Comment étudier le kotlin pour la première fois ~ Partie 2 ~
Comment étudier le kotlin pour la première fois ~ Partie 1 ~
Spring Boot pour la première fois
Spring AOP pour la première fois
Avec le logiciel que je fais depuis longtemps ...
Introduction à Java pour la première fois # 2
Apprendre pour la première fois java [Introduction]
[First Java] Créez quelque chose qui fonctionne avec Intellij pour le moment
Murs touchés par le premier Rspec
Développement d'Android Studio pour la première fois (pour les débutants)
J'ai essayé de toucher Docker pour la première fois
L'histoire d'un super débutant participant pour la première fois au concours AtCoder (AtCoder Beginner Contest 140)
Apprentissage pour la première fois des expressions et opérateurs Java # 3
Mémo d'apprentissage lors de l'apprentissage de Java pour la première fois (mémo d'apprentissage personnel)
Tutoriel pour créer un blog avec Rails pour les débutants Partie 1
Résumé des points que les programmeurs Java trouvent glissants lorsqu'ils lisent la source Kotlin pour la première fois
Hello World avec la bibliothèque d'extension Ruby pour le moment
La première application WEB avec Spring Boot-Making a Pomodoro timer-
Tutoriel pour créer un blog avec Rails pour les débutants Partie 2
Réfléchissez lorsque Rails (turbolinks) ne charge pas la page pour la première fois
L'histoire du refactoring avec un assistant personnel pour la première fois dans une application Rails
J'ai créé une fonction de réponse pour l'extension Rails Tutorial (Partie 1)
Connexion à une base de données avec Java (partie 1) Peut-être la méthode de base
J'ai créé une fonction de réponse pour l'extension Rails Tutorial (Partie 5):
Construire un serveur DLNA sur Ubuntu (il suffit de bouger pour le moment)
Dessinez un graphique à barres et un graphique linéaire en même temps avec MPAndroidChart
Création d'un environnement de développement pour les applications Web Java avec Docker pour Mac Part1
L'histoire de la sortie de l'application Android sur le Play Store pour la première fois.
[Communication Socket (Java)] Impressions de la mise en œuvre de la communication Socket dans la pratique pour la première fois
Créer une application et la déployer pour la première fois avec heroku
Créer un environnement de développement d'applications Web Java avec Docker pour Mac Part2
Consulter les notes de la classe java.util.Scanner
Créez un fichier jar avec la commande
Toucher Kotlin pour la première fois-Enum Classes
Consultez les notes de la classe java.util.Optional
Exécutez DMN à l'aide du moteur Camunda DMN
Extraire une partie d'une chaîne en Ruby
Une note de révision pour la classe java.util.Objects
Consulter les notes du package java.time.temporal
L'histoire de l'utilisation intentionnelle de Try catch pour la première fois de ma vie
Code pour résoudre une matrice de nombres aléatoires avec la méthode d'élimination Pivot Gauss
Impressions et doutes sur l'utilisation de Java pour la première fois dans Android Studio