1. Description de la scène
Le format des fichiers de données de l'instrument comprend PDF, Word, Excel, etc. Les méthodes de collecte de données des fichiers de différents formats sont différentes. Par conséquent, l'interface d'acquisition de données de l'instrument est définie et différentes classes d'acquisition de données telles que PDF et Excel sont définies pour implémenter cette interface.
Grâce à la classe d'usine, différentes méthodes sont appelées pour obtenir différentes classes de collecte de données d'instruments et la méthode d'interface est appelée.
Si vous n'utilisez pas le mode d'usine, vous avez besoin de nouveaux objets de collecte différents et l'utilisation du mode d'usine masque la méthode de création de nouveau.
Comme indiqué dans la figure ci-dessous:
2. Exemple de code
Interface d'acquisition de données de l'instrument:
package lims.designPatterndemo.factoryDemo; Interface publique EquipmentDatacapture {public String Capture (String FilePath);}Classe de collecte de données de fichiers PDF:
package lims.designPatterndemo.factoryDemo; public class pdffileCapture implémente EquipmentDatacapture {@Override public String capture (string filepath) {return "pdf file Content"; }}Classe de collecte de données de fichiers Excel:
package lims.designPatterndemo.factoryDemo; public class exvelfileCapture implémente EquipmentDatacapture {@Override public String capture (String filepath) {return "Excel File Content"; }}Catégorie d'usine:
package lims.designPatterndemo.factoryDemo; public class equipmentDatacaptureFactory {public static equipmentDatacapture getpdffileCapture () {return new pdffileCapture (); } public static equipmentDatacapture getExcelfileCapture () {return new ExvelFileCapture (); }}Exemple d'appel:
package lims.designpatterndemo.factorydemo; public class factorydemo {public static void main (string [] args) {equipmentDatacapture edc = equipmentDatacaptureFactory.getpdffileCapture (); edc = équipementdatacapturefactory.getExcelfileCapture (); Chaîne fileContent = edc.capture (""); System.out.println (FileContent); }}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.