Esto se hace para que tu codigo no este altamente acoplado a dependencias de terceros.
Este es un ejemplo de como manejar las librerias agregadas a nuestro proyecto.
Crear o acercarnos a la funcionalidad de lo que queremos generar
En este ejemplo queremos hacer una funcion que cree personas a partir de un objeto.
Puedes ver que en id y en age se usan funciones que facilmente podemos sustituir por librerias
Agregamos las librerias necesarias para hacerlo funcionar.
Ya que identificamos las librerias que nos facilitan el trabajo las debemos instalar y usarlas.
El problema que ahora las librerias externas forman parte de nuestro codigo, mientras mas las usemos mas dificil va a ser cambiar por otra libreria que nos facilite igual el trabajo.
Creamos un prugin por cada libreria agregada, de solo las funciones que utilizaremos.
De esta manera tenemos una capa anterior al uso de las librerias. Por lo que podemos adaptar esta funcion intermedia para que utilice las mismas propiedades a las que teniamos anteriormente.
plugins\\get-age.plugin.jsplugins\\uuid.plugin.jsPasando a hacer Fatory Functions
Se trata de mandar las dependencias o funciones que va a utilizar, para obtener como producto, una funcion generadora.