Vedendo questo diagramma delle classi UML:
FileHandler,UploadereDeletersonoclassiastratte.Lequattroclassiinferiorisonoimplementazioni.SiestendonosuFileHandlerInterfacecherichiedeunmetodohandleperconvalidareilcontratto.Maquestometodononènelleimplementazioni,èneilorogenitori(Uploader&Deleter).
L'hofattoperchénonmipiaceval'ideadiimplementareun'interfacciainunaclasseastratta.
Anchese,misembrachecisiaunenormedifettoinquestoprogetto.Ilfattochesianecessariopassareattraversoigenitoripersaperecomefunzionailbambinomifasembrareuncattivodesign.
Peresserepiùprecisi,nonèchiarocheilgenitoredirettodiUploaderCompleteabbiaunmetodo"handle", anche se ha pensato che ne abbia bisogno. Potrebbe essere nel genitore di Uploader (e in modo ricorsivo).
Dove si trova questo disegno sbagliato e come potrei migliorarlo?
Grazie.