Modèle en Java
Les modèles de conception aident un codeur à écrire du code propre, efficace et non répétitif avec moins de couplage ou de dépendance entre les unités d'exploitation individuelles. Chaque fois qu'un codeur analyse l'exigence présentée par le client, le modèle de conception approprié pour la mise en œuvre du code est la première solution à prendre en compte, sur laquelle le code serait mis à l'échelle plus tard, certaines contraintes supplémentaires si elles devaient être ajoutées peuvent également être intégrées.
Les modèles de conception sont toujours choisis dans un contexte d'évolutivité et de mise en œuvre propre.
Nous optons pour des modèles lorsque nous cherchons à les remplir via certaines implémentations, ce sont des modèles.
Et dans le domaine du codage, nous utilisons ces paradigmes dans les types de scénarios commerciaux suivants.
Scénario 1 -
Vous êtes censé concevoir une solution Web pour Template en Java où vous êtes invité à mettre en œuvre les propriétés caractéristiques d'un véhicule comme sa formule de calcul de vitesse, le calcul de couple, etc. Donc pour un vélo, ce serait différent de ce qui serait pour une voiture, et si nous voyons du point de vue de l'évolutivité, ajouter un modèle de base qui a juste le squelette externe de ces méthodes liées au calcul, puis nous venons d'ajouter des variantes de ces implémentations dans notre code, rendant ainsi une conception flexible. En voyant ce modèle, seul un utilisateur aurait une idée des fonctionnalités que vous proposez et ne peut anticiper que dans les classes connexes.
Scénario 2 -
Un autre cas peut être de générer un modèle commun pour les classes de base de données que vous allez appeler dans votre projet, vous pouvez utiliser Oracle, MySQL ou DB2, et probablement dans différents scénarios de codage, vous avez hâte de vous connecter avec eux à différentes instances de temps, donc dans le modèle, vous pouvez alimenter le nom d'utilisateur, le mot de passe, obtenir les propriétés de connexion, etc.
Un développeur Java sait comment implémenter ce type de fonctionnalité !! Oui, une classe abstraite est une bonne réponse, j'espère que vous savez que chaque fois que nous avons des scénarios où des entités étroitement liées doivent être mises dans une solution, nous choisissons des classes abstraites (dans le cas contraire, les interfaces résolvent également notre objectif).
Implémentation d'un modèle en Java
1. Faites de la classe de base un résumé qui incorpore également les méthodes du modèle et les méthodes abstraites.
2. Les méthodes du modèle sont de nature finale et ne changeront pas par la suite.
3. Les méthodes abstraites doivent être implémentées via la prise en charge du code logique métier dans les classes d'implémentation.
4. La méthode pourrait être rendue abstraite dans les classes enfants si elle ne doit pas y être implémentée uniquement.
5. Prendre soin de la gestion des exceptions de manière appropriée est également un scénario important.
6. Bon choix sur ce qui doit être marqué comme abstrait et ce qui ne doit pas l'être.
Les méthodes avec des corps dans la classe de base sont faites pour être de type final car elles ne doivent pas être remplacées, comme pour le calcul de régime de la classe de véhicule peut être fait de la même manière.
Ci-dessous, nous avons défini l'exemple basé sur un modèle java, il incorpore l'exemple d'implémentation du même -
public abstract Vehicle
(
String fuelType;
Int countOfSeats;
public abstract double calcSpeed() throws Exception;
public abstract double calcTorque() throws Exception;
public final void templateMethod()
(
Task1();
Task2();
Task3();
)
public Bike extends Vehicle
(
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
public car extends Vehicle
(
Int doorCount; // door doesn't exist in all vehicles so has been added here
@Override
public abstract double calcSpeed() throws Exception
(
try
(
return distance/time;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
@Override
public abstract double calcTorque() throws Exception
(
try
(
return radialLength * force;
)
Catch(Exception e)
(
System.out.println(e.printStackTrace());
)
)
)
Vous pouvez utiliser eclipse ou d'autres plateformes de compilation en ligne pour vérifier cette implémentation à l'aide de vos propres implémentations.
Configuration requise avant de coder
1. De préférence, Java 8 doit être installé.
2. Les variables système doivent être correctement configurées pour JRE.
3. Un IDE comme eclipse est également requis pour vérifier automatiquement les erreurs syntaxiques.
4. Débogage avec l'IDE uniquement.
5. Plug-ins pour l'analyse de conception de modèles.
6. Outils d'association de diagrammes de classes pour connaître la relation d'héritage de niveau supérieur entre les classes que vous avez créées dans l'implémentation du modèle de conception de modèle.
7. Toutes les fenêtres, Linux ou MAC feraient votre tâche.
Avantages du modèle en Java
- Empêche la duplication de code, car les choses générales ne peuvent être implémentées que dans la classe abstraite, les variations nécessaires peuvent être implémentées dans les sous-classes.
- Des modèles variables peuvent être implémentés dans les sous-classes en fonction de la relation d'héritage de l'implémentation. Ce processus est appelé substitution de méthode.
- Le modèle principal peut avoir des méthodes abstraites et non abstraites, ce qui rend la mise en œuvre plus facile et flexible.
- La longueur du code reste limitée.
- Le code semble propre et efficace.
- Facile à déboguer, facilitant ainsi la vie du développeur.
Cas d'utilisation
- Implémentations de relation has-a.
- Implémentations de bases de données.
- Implémentation de variantes de véhicules.
- Collecte de fruits et mise en place d'effets vitaminiques.
- Implémentation de la méthode des workflows.
Que pouvez-vous explorer d'autre?
Connaissez-vous les concepts d'implémentation d'interfaces, avec Java 8, portant de nouvelles fonctionnalités, vous pouvez essayer l'implémentation d'interface contre les classes dérivées mentionnées ci-dessus et vous pouvez essayer différents scénarios commerciaux, dans Java 8 et les versions supérieures, vous êtes libéral pour remplacer le méthodes abstraites d'interfaces dans les classes d'implémentation, vous devriez jeter un coup d'œil à la documentation présentée par Oracle pour la même chose.
Vous devez également explorer d'autres modèles de conception car ils sont importants et attendus des développeurs Java expérimentés de l'industrie.
Articles recommandés
Cela a été un guide pour Template en Java. Ici, nous avons discuté du concept, de l'exigence, de l'utilisation et de l'avantage du modèle en Java. Vous pouvez également consulter nos autres articles suggérés pour en savoir plus -
- Qu'est-ce que Design Pattern en Java?
- Introduction à JavaScript
- Comment installer Selenium
- Qu'est-ce que Cognos?
- Classes abstraites en JavaScript
- JRE vs JVM | 8 principales différences avec (infographie)