Ho una classe nel mio codice e non sono sicuro che il design che ho implementato sia corretto o se esiste un modo migliore per farlo. La classe che ho creato ha importanti metodi utili che vengono usati da ogni istanza di quella classe. Tuttavia, il problema è che l'istanza stessa non viene mai utilizzata. La classe gestisce tutto ciò che deve essere fatto senza utilizzare l'oggetto stesso. Quindi, una volta chiamato il costruttore, non uso più l'oggetto. Gli interni della classe gestiscono tutto. Ecco un esempio di cosa intendo. È scritto in JS ma può essere applicato praticamente a qualsiasi lang.
class MyHTMLElement {
constructor(htmlElement) {
this.htmlElement = htmlElement;
this.changeColorOnClick();
this.changeBorderOnInput();
}
changeColorOnClick() {
this.htmlElement.onclick = () => {
this.htmlElement.style.color = "blue";
}
}
changeBorderOnInput {
this.htmlElement.addEventListener("input", () => {
this.htmlElement.style.border = "2px solid green";
}
}
Ora, una volta creato questo, tutto ciò che devo fare è chiamare new MyHTMLElement("element");
per ogni istanza di cui ho bisogno e quindi non usare mai più le funzionalità della classe. Userò ancora l'attributo htmlElement
dell'istanza, ma non userò mai nessuno dei metodi. Mi sembra che non mi piaccia. C'è un modo migliore per farlo che è anche molto pulito. Grazie per il tuo aiuto.