Proyecto de enunciado del ejercicio.
Refactorización:
En base a SRP (Single Responsability Principle) se extraerá la responsabilidad de generación de identificadores a una clase nueva.
Por un lado se decide que la generación de ids es una responsabilidad que no pertenece a GlobalAddressBook./ Por otro lado extrayendo la funcionalidad se permite su reutilización.
Mocks/Stubs:
Suponemos que la nueva funcionalidad va a ser implementada por otro desarrollador./ Podemos esperar a que la tenga acabada, pero para ver un ejemplo de stubs/mocks vamos a refactorizar sin disponer de la implementación.