Recentemente ho scoperto il pattern Builder e il pattern Step Builder essenzialmente come gli inizializzatori di oggetti, ma con il pattern Step Builder puoi aggiungere campi obbligatori.
Abbiamo classi che hanno molti costruttori che hanno tonnellate di parametri e ogni costruttore è solo una variazione su quali parametri sono usati, quindi c'è molta duplicazione e difficoltà a scoprire quale costruttore è quello giusto da usare. Questo ci dà la flessibilità nel creare il nostro oggetto immutabile da molti luoghi diversi, quindi non voglio perdere questo. Credo che il generatore di passi aiuti questo perché è possibile mandare determinati campi e consentire la flessibilità che un inizializzatore di oggetti fornisce.
Tuttavia la squadra in cui lavoro non ha familiarità con il modello di build e non può vedere i suoi benefici. Non voglio davvero continuare a rifocalizzare il codice base solo per sentirmi dire troppo complicato (perché non possono vedere immediatamente come farlo) e devo rimuoverlo, il che significa che devo passare un'altra settimana o giù di lì su di esso.
Quindi la mia domanda è: come si introduce un nuovo modello in un progetto esistente mentre si lavora in una squadra? O dovrei anche io?
So che ci sono domande là fuori che chiedono come introdurre un nuovo pattern nel codice, ma in particolare voglio sapere come influenza un team e cosa devo fare per ottenere il loro buy in.
Potrebbe valere la pena notare che non sono uno sviluppatore senior, semmai sono vicino a diventare uno sviluppatore junior in termini di esperienza con il resto della mia squadra.