Dans la programmation de programmation orientée objet, notre opération la plus courante est un nouvel objet, mais dans le processus de création d'un nouvel objet, il y aura des problèmes, comme nous devons prêter attention aux détails de l'implémentation de la création d'un nouvel objet, initialiseront certains paramètres nécessaires, etc. L'émergence de modèles d'usine et de modèles d'usine abstraits résout parfaitement ce problème, nous permettant de ne plus nous soucier de la création d'objets, mais de se concentrer davantage sur la mise en œuvre de l'entreprise.
Caractéristiques:
1. Les programmeurs créent des objets directement via des méthodes d'usine et ne font plus attention aux détails de la création d'objets.
2. La cachette des détails de mise en œuvre de l'objet est également propice à la sécurité du programme.
3. Réduire le diplôme de couplage du programme.
Applications dans le développement au niveau de l'entreprise et les cadres communs:
SessionFactory, etc. en hibernate
Classification du modèle d'usine:
Modèle d'usine simple, la forme la plus couramment utilisée dans le développement de programmes, le code spécifique est le suivant:
classe publique Demo {/ ** * La classe de démonstration est notre classe de fonctionnement habituelle. Dans cette classe, nous n'avons pas à nous soucier des détails de mise en œuvre de la création de voitures * / public static void main (String [] args) {Car car = carfactory.createcar ("dz"); car.run (); Car car2 = carfactory.createCar ("at"); car2.run (); }} Interface Car {public void run ();} class Dz implémente la voiture {public void run () {System.out.println ("Volkswagen est en cours d'exécution"); }} class at implémente car {public void run () {System.out.println ("Alto Car est en cours d'exécution"); }} class carfactory {public static Car CreateCar (String Type) {if ("dz" .equals (type)) {System.out.println ("Création d'une voiture Volkswagen"); retourner new dz (); } if ("at" .equals (type)) {System.out.println ("Création d'une voiture alto"); retourner nouveau sur (); } return null; }}Le mode Méthode d'usine est plus facile à développer que le mode d'usine simple, et il n'est pas nécessaire de modifier le code précédent.
classe publique Demo {/ ** * La classe de démonstration est notre classe de fonctionnement habituelle. Dans cette classe, nous n'avons pas à nous soucier des détails de mise en œuvre de la création de voitures * / public static void main (String [] args) {atfactory atfactory = new atfactory (); Dzfactory dzfactory = new dzfactory (); Voiture at = atfactory.createCar (); Car dz = dzfactory.createCar (); at.run (); dz.run (); }} Interface Car {public void run ();} class Dz implémente la voiture {public void run () {System.out.println ("Volkswagen est en cours d'exécution"); }} class at implémente car {public void run () {System.out.println ("Auto Car est en cours d'exécution"); }} Interface Carfactory {Car CreateCar ();} classe DZFactory implémente Carfactory {public Car CreateCar () {return new DZ (); }} class atfactory implémente carfactory {public car createCar () {return new at (); }}Résumé du modèle de méthode d'usine:
classe publique Demo {public static void main (String [] args) {car carfactory = new gdcarfactory (); Fdz fdz = carfactory.createfdz (); fdz.zhuansu (); }} interface fdz {void zhuansu ();} classe GDFDZ implémente fdz {public void zhuansu () {System.out.println ("vitesse du moteur haut de gamme"); }} classe DDFDZ implémente fdz {public void zhuansu () {System.out.println ("Speed du moteur bas de gamme lent"); }} interface zy {void shushidu ();} class gdzy implémente zy {public void shushidu () {System.out.println ("Les sièges haut de gamme sont confortables"); }} classe Ddzy implémente ZY {public void shushidu () {System.out.println ("Les sièges bas de gamme sont inconfortables"); }} interface lt {void mosundu ();} class gdlt implémente lt {public void mosundu () {System.out.println ("Les pneus haut de gamme ne portent pas"); }} classe Ddlt implémente lt {public void mosundu () {System.out.println ("Les pneus bas de gamme se portent rapidement"); }} Interface Car {fdz createFdz (); Zy createzy (); LT CreateLt ();} classe GdcarFactory implémente la voiture {@Override public fdz createFdz () {return new GDFDZ (); } @Override public zy createzy () {return new gdzy (); } @Override public lt crétELT () {return new gdlt (); }} classe ddcarfactory implémente car {@Override public fdz createfdz () {return new ddfdz (); } @Override public zy createzy () {return new ddzy (); } @Override public lt crétELT () {return new ddlt (); }}Comparaison de trois méthodes:
1. Mode d'usine simple: Le mode d'usine simple est simple dans la conception, avec un petit volume de code, mais une mauvaise évolutivité. Lorsqu'il est nécessaire de se développer, vous devez modifier le code précédent.
2.
3. Résumé Modèle d'usine: le modèle d'usine abstrait et le modèle d'usine sont différents. Le modèle d'usine abstrait divise les produits en notes, mais le modèle d'usine consiste à classer les produits. Pour donner un exemple de voiture: le modèle d'usine consiste à produire différents types de voitures, tels que Audi et Volkswagen, tandis que le modèle d'usine abstrait divise la même voiture en notes. Par exemple, à la fois Volkswagen, nous divisons les voitures haut de gamme et les voitures basses. D'un point de vue méthodologique, le modèle d'usine abstrait ressemble davantage au raffinement du modèle d'usine. L'un s'adresse à différents produits, et l'autre s'adresse à la même famille de produits.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.