Si tratta di ottenere le tue dipendenze diritte. Se hai bisogno di nuove funzionalità, hai sempre la possibilità di tenerlo privato al tuo codice di dominio problematico o di inserirlo in un pacchetto con materiale di supporto generale accessibile a tutti. Se lo tieni privato, è tuo. Puoi cambiarlo, sistemarlo, estenderlo quando vuoi e puoi essere sicuro di non infrangere alcun codice che non conosci. Questo è molto "sviluppabile" ma non è riutilizzabile. Se hai bisogno della stessa cosa nel tuo prossimo progetto, dovrai copiare il codice nel pacchetto su cui stai lavorando in quel momento. Oppure decidere di spostare il codice sul pacchetto generale di supporto, dopotutto, che sarebbe un esempio della composizione in evoluzione di cui parla il libro.
Una volta che il codice si trova in una libreria riutilizzabile, si avrà una perdita di sviluppo. Dovrai stare molto attento quando cambi qualcosa perché potresti rompere un cliente. Se c'è un errore, potresti non essere nemmeno in grado di aggiustarlo perché il codice client potrebbe dipendere da esso. È diventato "legacy".
A volte essere in grado di cambiare / sistemare qualcosa in un punto centrale, sapendo che avrà effetto su tutto in una volta, può essere fantastico. E a volte può essere una maledizione. Rendere la chiamata sulla strada da percorrere è il compito non banale del tuo libro.