[JAVA] modèle d'usine abstrait

l'utilisateur obtient l'objet en utilisant uniquement la classe abstraite et l'interface En utilisant Factory Pattern, l'utilisateur n'a pas besoin de connaître les différents objets requis pour la composition de l'objet cible et leurs combinaisons. </ Font>

Vous trouverez ci-dessous l'exemple de code du modèle d'usine abstrait.

Design Pattarm MENU

La structure de classe est la suivante

classe Explication
abstract
factory.class
Définir la méthode de création abstraite
samFactoryA.class Agrandissez l'usine
Générer et combiner les classes de pièces nécessaires pour composer la cible
samFactoryB.class Comme ci-dessus
interface face1
interface face2
Interface pour les pièces
parts1.class ~ parts4.class Classe de pièces requise pour la composition du produit cible
user(Main.class) Vérifiez le fonctionnement
  • Utilisateur Inclut la signification que les autres développeurs utilisent ce modèle

L'exemple de code ci-dessous utilise deux usines Parce que le motif abstrait d'usine facilite la création de plusieurs usines Il existe une fonctionnalité qui améliore la commodité de l'utilisateur

factory.class


abstract class factory{
  String msg;
  int    len;

  factory(String msg){
    this.msg = msg;
    len =msg.length();
  }

  abstract String create();
}

samFactoryA.class


class samFactoryA extends factory{
  samFactoryA(String msg){super(msg);}

  String create(){
    String partsA = new partsA().s;
    String partsB = new partsB().s;
    return partsA+super.msg+partsB;
}}

samFactoryB.class


class samFactoryB extends factory{
  samFactoryB(String msg){super(msg);}
  
  String create(){
    String partsA = new partsA().s;
    String partsB = new partsB().s;
    String partsC = new partsC().s;
    String partsD = new partsD().s;
    return partsA+partsC + super.msg + partsD+partsB;
}}

interface_face1


interface face1{}
class partsA implements face1{String s="<<< ";}
class partsB implements face1{String s=" >>>";}

interface face2{}
class partsC implements face2{String s="[[[ ";}
class partsD implements face2{String s=" ]]]";}

user(Main.class)


public static void main(String[] args){
  factory f1 = new samFactoryA("Hello java");
    System.out.println(f1.create());
  
  factory f2 = new samFactoryB("HELLO JAVA");
    System.out.println(f2.create());
}}

Recommended Posts

modèle d'usine abstrait
Modèle d'usine abstraite
Modèle de conception ~ Usine abstraite ~
Modèle de méthode d'usine
Modèle de méthode d'usine
Modèle de conception ~ Méthode d'usine ~
Avantages de la génération de modèles AbstractFactory avec enum
Introduction aux modèles de conception (Abstract Factory)
Modèle de conception Java pour débutant (modèle de méthode d'usine)
Modèle de prototype
Motif de souvenir
Quelle fabrique de modèles de stratégie, pas un état
Motif médiateur
Modèle d'itérateur
Motif composite
Modèle d'observateur
Modèle de constructeur
Modèle de pont
Modèle de commande
Modèle de constructeur
Modèle de stratégie
Modèle d'itérateur
Modèle de visiteur
Modèle d'adaptateur
Modèle de proxy
Modèle de stratégie
Motif composite
Méthode abstraite
Motif singleton
Motif singleton
Modèle de prototype
Modèle de façade
Motif décorateur
Modèle de poids mouche
Motif décorateur
Modèle de médiateur
Motif de façade
Modèle de visiteur
Modèle de pont