Patrons de disseny en #javascript – Factory

Aquest patró de disseny et va a ajudar a crear objectes o classes de tipus similar, quan no saps ben bé de quin tipus seran finalment o quals vas a utilitzar.

Segons vagis creant el teu projecte decidiràs quals vas a instanciar.

Classes o objectes similars, et donaré un exemple: a

// Imaginemos que tenemos una pequeña app que crea Websfunction constructorSitios() { // creamos el método this.crearElemento = (texto, tipo) => { let html; if (tipo === 'input'){ html = new InputHTML(texto) } else if (tipo === 'img'){ html = new ImangenHTML(texto) } else if (tipo === 'h1'){ html = new HeadingHTML(texto) } else if (tipo === 'p'){ html = new ParrafoHTML(texto) } html.tipo = tipo; return html; }}

Com veiem, els objectes declarats són objectes similars, són relacionats i comparteixen mateixes propietats, en aquest cas la variable text.

// Ahora imaginemos que necesitamos crear un H1// Creamos el constructor HeadingHTMLconst HeadingHTML = function(texto){ this.texto = texto;};const sitioWeb = new constructorSitios();sitioWeb.crearElemento('Bienvenidos', 'h1') );

Això cridarà a l’mètode que declarem en la nostra funció i un cop passada la condició if, crearà una nova instància de HeadingHTML, al seu torn li passem el text (Benvinguts), obtenint com a resultat un objecte que conté un H1.

HeadingHTML {texto: "Bienvenidos", tipo: "h1"}

En resum

el factory obre un ventall de possibilitats a l’treballar amb objectes similars sense haver de duplicar codi, només hauràs instanciarlo!.

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *