Acest model de design vă va ajuta să creați obiecte sau clase de tip similar, când nu știți exact ce tip veți fi în cele din urmă sau ce veți folosi.
Potrivit dvs., creând proiectul dvs., veți decide care veți întâlni.
clasă sau obiecte similare, vă voi da un exemplu:
// 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; }}
Așa cum vedem, obiectele declarate sunt obiecte similare, sunt legate și împărtășesc ele însele, în acest caz textul variabil.
// 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') );
Noua instanță a headinghtml, la rândul său, textul (bun venit), obținerea ca rezultat un obiect care conține un H1.
HeadingHTML {texto: "Bienvenidos", tipo: "h1"}
În rezumat
fabrica deschide o serie de posibilități atunci când lucrați cu obiecte similare fără a fi nevoie să duplicați codul, Ar trebui să-l imediat!