ВопросMiddleэкзон24 просмотра

public class RefEx { public interface DocumentProcessor { void process(Document document); } public static class PdfProcessor implements DocumentProcessor { @Override public void process(Document document) { // Специфическая логика для обработки PDF } } public static class DocxProcessor implements DocumentProcessor { @Override public void process(Document document) { // Специфическая логика для обработки Word } } public static class XmlProcessor implements DocumentProcessor { @Override public void process(Document document) { // Специфическая логика для обработки XML } } public static class DocumentService { private final Map<DocumentType, DocumentProcessor> processors = Map.of( DocumentType.PDF, new PdfProcessor(), DocumentType.DOCX, new DocxProcessor(), DocumentType.XML, new XmlProcessor() ); public void process(Document[] documents) { for (Document doc : documents) { // Общая логика обработки документа processors.get(doc.type).process(doc); } } } }