1. Descrição da cena
O formato dos arquivos de dados do instrumento inclui PDF, Word, Excel, etc. Os métodos de coleta de dados de arquivos de diferentes formatos são diferentes. Portanto, a interface de aquisição de dados do instrumento é definida e diferentes classes de aquisição de dados, como PDF e Excel, são definidas para implementar essa interface.
Através da classe de fábrica, diferentes métodos são chamados para obter diferentes classes de coleta de dados de instrumentos, e o método da interface é chamado.
Se você não usa o modo de fábrica, precisará novos objetos de coleção diferentes e o uso do modo de fábrica oculta o método de criação do novo.
Como mostrado na figura abaixo:
2. Código de amostra
Interface de aquisição de dados do instrumento:
pacote lim.designpatterndemo.FactoryDemo; Public Interface EquipmentDataCapture {public String Capture (String filepath);}Classe de coleta de dados de arquivos PDF:
pacote lim.designpatterndemo.factoryDemo; public class Pdffilecapture implementa o equipamento DataCapture {@Override public String Capture (string filepath) {return "PDF Arquivo Conteúdo"; }}Classe de coleta de dados do Excel File:
pacote lim.designpatterndemo.factoryDemo; classe pública Excelfilecapture implementa EquipmentDataCapture {@Override public String Capture (String filepath) {return "Excel File Content"; }}Categoria de fábrica:
pacote lim.designpatterndemo.factoryDemo; classe pública EquipmentDataCaptureFactory {public Static EquipmentDataCapture getpdffilecapture () {return pdffilecapture (); } Public Static EquipmentDatAcApture getExCelFilecApture () {return Novo Excelfilecapture (); }}Ligue para o exemplo:
pacote lim.designpatterndemo.factoryDemo; public class FactoryDemo {public static void main (string [] args) {EquipmentDatacApture EDC = EquipmentDatAcAptureFactory.getpdffilecapture (); EDC = EquipmentDataCaptureFactory.GetexCelFilecApture (); String fileContent = edc.capture (""); System.out.println (FileContent); }}O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.