Description abstraite du modèle d'usine
1. Problèmes avec le modèle de méthode d'usine : Dans le modèle de méthode d'usine, la création d'une classe nécessite de transmettre la classe d'usine. Si vous souhaitez étendre le programme, vous devez modifier la classe d'usine. Cela viole le principe de fermeture et est ouvert. à extension mais fermé à modification ; Il y a certains problèmes avec la conception.
2. Comment résoudre : nous devons utiliser le modèle d'usine abstrait, qui consiste à créer une classe d'usine séparément pour la classe fonctionnelle, afin qu'il ne soit pas nécessaire de modifier le code précédent et que la fonction soit étendue.
3. Le modèle d'usine est en fait une méthode d'usine unifiée pour créer et appeler des classes d'implémentation qui implémentent la même interface. Cependant, JavaScript n'a pas d'interface, donc cette couche d'implémentation est supprimée, mais les membres et les méthodes de. les classes fonctionnelles doivent être les mêmes
Exemple de code source d'usine abstrait
1. Cours d'envoi d'e-mails :
2. Catégorie d'envoi de SMS :
3. La classe d'interface d'usine a été créée à l'origine ici, mais elle est supprimée ici directement créer diverses usines de classes fonctionnelles;
1>. Classe d'usine de courrier :
2>. Classe d'usine SMS :
4. Comment utiliser :
Autres consignes
Le modèle d'usine utilisé dans les langages orientés objet tels que Java et .net C# utilise tous des interfaces. Les interfaces sont des méthodes disponibles exposées à divers utilisateurs. Elles décrivent quelles méthodes sont utilisées pour appliquer cette fonction et comment les utilisateurs doivent l'utiliser. . Les objets sont exprimés sous forme de classes, représentant une sorte d'abstraction dans le monde réel. Peut-être que la scène a de nombreuses applications similaires, telles que l'envoi d'e-mails, l'envoi de SMS ci-dessus, diverses méthodes promotionnelles dans les centres commerciaux et le monde animal. oiseaux et animaux, etc.
Si nous ne fournissons pas d'interfaces aux utilisateurs, nous fournirons inévitablement de véritables objets de classe fonctionnels aux utilisateurs. Les utilisateurs peuvent modifier et étendre les objets de classe à volonté, ce qui n'est pas autorisé.
Le modèle de méthode d'usine et le modèle d'usine abstrait peuvent très bien résoudre ce problème. Les utilisateurs ne peuvent utiliser l'interface que pour appeler la classe d'usine afin d'effectuer des opérations spécifiées ; le modèle d'usine abstrait facilite en outre l'utilisation des fonctions étendues et des usines. Les classes implémentent leurs propres extensions au niveau de la classe sur les interfaces correspondantes et n'impliqueront pas de modification d'autres classes ou méthodes
;