La progettazione orientata agli oggetti è il processo di pianificazione di un sistema di oggetti interagenti allo scopo di risolvere un problema software.
Vedo la maggior parte dei POJO immutabili scritti in questo modo: public class MyObject { private final String foo; private final int bar; public MyObject(String foo, int bar) { this.foo = foo; this.bar = bar; } public String getFoo() { return foo; } public int getBar() { return bar; } …
Avere il concatenamento implementato su bean è molto utile: non è necessario sovraccaricare costruttori, mega costruttori, fabbriche e offre una maggiore leggibilità. Non riesco a pensare a nessun aspetto negativo, a meno che tu non voglia che il tuo oggetto sia immutabile , nel qual caso non avrebbe comunque setter. …
MethodA chiama un MethodB che a sua volta chiama MethodC. Non esiste una gestione delle eccezioni in MethodB o MethodC. Ma c'è una gestione delle eccezioni in MethodA. In MethodC si verifica un'eccezione. Ora, quell'eccezione sta ribollendo fino a MethodA, che la gestisce in modo appropriato. Cosa c'è di sbagliato …
Ho creato una semplice applicazione MVC Java che aggiunge record attraverso moduli di dati a un database. La mia app raccoglie dati, li convalida e li memorizza. Questo perché i dati provengono online da utenti diversi. i dati sono principalmente di natura numerica. Ora sui dati numerici archiviati nel database …
Il nostro collega promuove la scrittura di test di unità come in realtà ci aiuta a perfezionare il nostro design e le cose del refactor, ma non vedo come. Se sto caricando un file CSV e lo analizzo, in che modo unit test (convalida dei valori nei campi) mi aiuterà …
Sto solo progettando la mia applicazione e non sono sicuro di aver compreso correttamente SOLID e OOP. Le classi dovrebbero fare 1 cosa e farlo bene, ma d'altra parte dovrebbero rappresentare oggetti reali con cui lavoriamo. Nel mio caso eseguo un'estrazione di funzionalità su un set di dati e quindi …
Ho un collega seduto accanto a me che ha progettato un'interfaccia come questa: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Il problema è che in questo momento non stiamo usando questo parametro "end" da nessuna parte nel nostro codice, è solo …
Stiamo cambiando il modo in cui la nostra applicazione AS3 parla al nostro back-end e stiamo implementando un sistema REST per sostituire quello vecchio. Purtroppo lo sviluppatore che ha iniziato il lavoro è ora in congedo per malattia a lungo termine ed è stato consegnato a me. Ci lavoro da …
Questa domanda è in qualche modo indipendente dal linguaggio, ma non completamente, dal momento che la programmazione orientata agli oggetti (OOP) è diversa, ad esempio, in Java , che non ha funzioni di prima classe, rispetto a Python . In altre parole, mi sento meno in colpa per la creazione …
Disse Jame Gosling "Dovresti evitare l'ereditarietà dell'implementazione quando possibile." e invece usa l'ereditarietà dell'interfaccia. Ma perché? Come possiamo evitare di ereditare la struttura di un oggetto usando la parola chiave "extends" e allo stesso tempo rendere il nostro codice orientato agli oggetti? Qualcuno potrebbe fornire un esempio orientato agli oggetti …
Ho trovato un albero ereditario nella nostra (piuttosto grande) base di codice che va in questo modo: public class NamedEntity { public int Id { get; set; } public string Name { get; set; } } public class OrderDateInfo : NamedEntity { } Da quello che ho potuto raccogliere, questo …
Secondo È sbagliato usare un parametro booleano per determinare il comportamento? , Conosco l'importanza di evitare l'uso di parametri booleani per determinare un comportamento, ad esempio: versione originale public void setState(boolean flag){ if(flag){ a(); }else{ b(); } c(); } nuova versione: public void setStateTrue(){ a(); c(); } public void setStateFalse(){ …
Esiste un modello progettuale concepibile per qualsiasi programma orientato agli oggetti? Lo chiedo perché di recente ho visto un'implementazione di una Doorclasse con a Lock. Faceva parte di un test e la risposta diceva che il codice segue il modello Null Object: class Lock { public: virtual void close() = …
Quando i concetti della programmazione orientata agli oggetti sono stati introdotti ai programmatori anni fa, sembra interessante e la programmazione era più pulita. OOP era così Stock stock = new Stock(); stock.addItem(item); stock.removeItem(item); Era più facile da capire con un nome auto-descrittivo. Ma ora OOP, con pattern come Data Transfer …
Sto lavorando con il seguente sistema: Network Data Feed -> Third Party Nio Library -> My Objects via adapter pattern Di recente abbiamo avuto un problema in cui ho aggiornato la versione della libreria che stavo usando, che, tra le altre cose, ha causato i timestamp (che la libreria di …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.