Creative Saplings

GeeksforGeeks (Français)

septembre 29, 2020
No Comments

Il s’agit d’un modèle de conception de création qui parle de la création d’un objet. Le modèle de conception d’usine dit que définir une interface (une interface java ou une classe abstraite) et laisser les sous-classes décider quel objet instancier. La méthode factory de l’interface permet à une classe de reporter l’instanciation à une ou plusieurs sous-classes concrètes. Puisque ces modèles de conception parlent d’instanciation d’un objet et qu’il entre donc dans la catégorie des modèles de conception créative. Si nous remarquons le nom de la méthode Factory, cela signifie qu’il existe une méthode qui est une usine, et en général les usines sont impliquées dans la création et ici avec cela un objet est en cours de création. C’est l’un des meilleurs moyens de créer un objet dans lequel la logique de création d’objet est masquée pour le client. Examinons maintenant la mise en œuvre.

Mise en œuvre:
1. Définissez une méthode de fabrique dans une interface.
2. Laissez la sous-classe implémenter la méthode de fabrique ci-dessus et décidez quel objet créer.
En Java, les constructeurs ne sont pas polymorphes, mais en permettant à la sous-classe de créer un objet, nous ajoutons un comportement polymorphe à l’instanciation. En bref, nous essayons d’atteindre le pseudo polymorphisme en laissant la sous-classe décider quoi créer, et donc cette méthode Factory est également appelée

Constructeur virtuel. Essayons de le mettre en œuvre avec un problème en temps réel et un exercice de codage.

Énoncé du problème:
Considérez que nous voulons implémenter un service de notification par e-mail, SMS et notification push. Essayons de mettre en œuvre cela à l’aide du modèle de conception de méthode d’usine. Nous allons d’abord concevoir un diagramme de classes UML pour cela.

Dans le diagramme de classes ci-dessus, nous avons une interface appelée Notification, et trois classes concrètes implémentent l’interface Notification. Une classe d’usine NotificationFactory est créée pour obtenir un objet Notification. Passons maintenant au codage.

Créer une interface de notification

java

public interface Notification {
void notifyUser();
}



Remarque – L’interface ci-dessus pourrait également être créée en tant que classe abstraite.
Créez toutes les classes d’implémentation

SMSNotification.java
java

public class SMSNotification implements Notification {
@Override
public void notifyUser()
{
System.out.println( "Sending an SMS notification" );
}
}


EmailNotification.java
java

public class EmailNotification implements Notification {
@Override
public void notifyUser()
{
System.out.println( "Sending an e-mail notification" );
}
}



PushNotification.java
java

public class PushNotification implements Notification {
@Override
public void notifyUser()
{
System.out.println( "Sending a push notification" );
}
}



Créez une classe d’usine NotificationFactory.java pour instancier une classe concrète.

Utilisons maintenant la classe d’usine pour créer et obtenir un objet de classe concrète en passant des informations.

java

public class NotificationService {
public static void main(String args)
{
NotificationFactory notificationFactory = new NotificationFactory();
Notification notification = notificationFactory.createNotification( "SMS" );
notification.notifyUser();
}
}



Output : Sending an SMS notification

Exemples en temps réel
Ce modèle de conception a été largement utilisé dans JDK, tel que
1. getInstance () de java.util.Calendar, NumberFormat et ResourceBundle utilise un modèle de conception de méthode d’usine.
2. Toutes les classes wrapper comme Integer, Boolean, etc. en Java utilisent ce modèle pour évaluer les valeurs à l’aide de la méthode valueOf ().
3. java.nio.charset.Charset.forName (), java.sql.DriverManager # getConnection (), java.net.URL.openConnection (), java.lang.Class.newInstance (), java.lang.Class.forName () sont quelques-uns des autres exemples d’utilisation d’un modèle de conception de méthode d’usine.
Conclusion
Jusqu’à présent, nous avons appris ce qu’est le modèle de conception de méthode Factory et comment l’implémenter. Je crois que nous avons maintenant une bonne compréhension de l’avantage de ce mécanisme de conception.

Tags de l’article:

Articles
Previous Post

SC Picture Project (Français)

Next Post

Abe malhonnête: pourquoi vous ne devriez pas utiliser le test Penny pour vérifier la profondeur de sculpture des pneus

Laisser un commentaire Annuler la réponse

Articles récents

  • Meilleures écoles de photographie du monde, 2020
  • Les citoyens souverains apportent leur philosophie anti-gouvernement aux routes
  • Guide des coûts de réparation du stuc
  • Muckrakers (Français)
  • Oncologie de précision

Archives

  • février 2021
  • janvier 2021
  • décembre 2020
  • novembre 2020
  • octobre 2020
  • septembre 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.