Schema dell'adattatore C # - Esecuzione basata su condizioni

4

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 !!!

    
posta Dinny 16.04.2017 - 14:40
fonte

2 risposte

2

Il problema che hai menzionato è perfetto per il Pattern di strategia . Fondamentalmente, hai una strategia che incapsula il comportamento (nella forma dei tuoi adattatori). Il tuo cliente chiederà a una fabbrica di creare la strategia / l'adattatore appropriato in base alle regole che definisci.

La bellezza di ciò risiede nel fatto che quando le regole su come processare il candidato in un cambio di dipendente (ad es. potrebbe esserci un nuovo sistema da cui è necessario recuperare i dati del candidato da), il cliente è isolato da quello, devi solo creare una nuova strategia e aggiornare la fabbrica per gestire il nuovo scenario.

    
risposta data 17.04.2017 - 03:44
fonte
0

sembra che tu stia già facendo tutte le cose necessarie, ma solo bisogno di una ristrutturazione. 1 modo possibile

Si prega di condividere se si sta facendo qualcosa di diverso, sto anche imparando attraverso questo

    
risposta data 16.04.2017 - 20:13
fonte

Leggi altre domande sui tag