Sto costruendo una soluzione per la divisione reclutamento di un'organizzazione. Il requisito è quello di creare nuovi record di dipendenti nel database dell'organizzazione per i richiedenti che hanno autorizzato le interviste e si uniscono all'organizzazione.
Ho creato un'API per ricevere l'oggetto "Richiedente" dal mio sistema di gestione delle risorse umane e creare un record "Dipendente" per lo stesso. Sto usando Adapter Pattern per trasformare l'oggetto "Richiedente" nell'oggetto "Dipendente".
Questa trasformazione è un processo in più fasi. Mi piace
Step 1) Transform applicant's personal information.
Step 2) Transform her educational qualifications.
Step 3) Transform her previous experiences.
Step 4) Transform financial records of the employee.
La soluzione di cui sopra funziona bene. Ora l'organizzazione deve considerare i candidati che vengono indirizzati da un'agenzia di collocamento. In tal caso, la maggior parte delle informazioni del richiedente, come le informazioni personali, non sarebbero disponibili nel database dell'organizzazione. Ma il mio oggetto Source conterrà un ID candidato e un tipo di candidato (che indica che viene inviato dall'agenzia di collocamento), con il quale posso invocare un servizio web per ottenere le informazioni personali del richiedente e effettuare la trasformazione.
Quindi per descriverlo a un livello più alto, la soluzione proposta dovrebbe decidere quale percorso intraprendere in base al tipo di richiedente per determinati passaggi nella mia trasformazione dell'adattatore, sia per cercare le informazioni nell'oggetto di origine che per richiamare un servizio Web.
La mia domanda è come introdurre questa condizione basata sull'esecuzione (basata sul tipo di richiedente) per alcuni passaggi nel modello dell'adattatore esistente. Il mio architetto non vuole passare a un modello di progettazione diverso, piuttosto vorremmo ottenere questa esecuzione condizionale con gli stessi adattatori. Qualsiasi suggerimento per aiutarci a iniziare con questo potrebbe essere di grande aiuto.
Grazie in anticipo. Buon apprendimento !!!