Durante una revisione del codice oggi, un mio collega ha detto qualcosa di interessante: prototypeè utile solo quando hai bisogno dell'eredità - e quando l'eredità è sempre una buona idea ? Ci ho pensato e mi sono reso conto che di solito uso l'ereditarietà per aggirare il codice che è …
Ecco uno scenario comune che è sempre frustrante per me affrontare. Ho un modello a oggetti con un oggetto genitore. Il genitore contiene alcuni oggetti figlio. Qualcosa come questo. public class Zoo { public List<Animal> Animals { get; set; } public bool IsDirty { get; set; } } Ogni oggetto …
class Boxer: def punch(self, punching_bag, strength): punching_bag.punch(strength) class PunchingBag: def punch(self, strength): print "Punching bag punched with strength", strength boxer = Boxer() punching_bag = PunchingBag() boxer.punch(punching_bag, 2) Non c'è dubbio che punchsia un buon nome di metodo in caso di un pugile. Ma il nome punchè buono anche per il …
obj.idsembra abbastanza comune e sembra anche rientrare nel raggio di qualcosa che un oggetto potrebbe conoscere su se stesso. Mi trovo a chiedermi perché il mio oggetto dovrebbe conoscere il proprio ID? Non sembra avere un motivo per averlo? Uno dei motivi principali della sua esistenza è recuperarlo, quindi i …
Alan Kay afferma che "ho inventato il termine" orientato agli oggetti "e posso dirti che non avevo in mente C ++." Ciò che aveva in mente, ovviamente, era Smalltalk. Ma non ha inventato la programmazione orientata agli oggetti; ha avuto le idee di base da Simula. Quindi, se il termine …
L'accoppiamento lento è, per alcuni sviluppatori, il santo graal di software ben progettato. È certamente positivo quando rende il codice più flessibile di fronte ai cambiamenti che potrebbero verificarsi nel prossimo futuro, o evita la duplicazione del codice. D'altro canto, gli sforzi per accoppiare liberamente i componenti aumentano la quantità …
Ho una classe CPP il cui costruttore esegue alcune operazioni. Alcune di queste operazioni potrebbero non riuscire. So che i costruttori non restituiscono nulla. Le mie domande sono: È consentito eseguire alcune operazioni diverse dall'inizializzazione dei membri in un costruttore? È possibile dire alla funzione chiamante che alcune operazioni nel …
Vengo da un forte background OO e recentemente ho iniziato a lavorare in un'organizzazione che, sebbene il codice sia scritto in Java, ha molta meno enfasi sul buon design OO rispetto a quello a cui sono abituato. Mi è stato detto che presento "troppa astrazione" e che dovrei invece codificare …
Nel mio attuale lavoro, mi è stato assegnato il compito di ripulire il vecchio codice alcune volte. Spesso il codice è un labirinto e i dati sottostanti sono ancora più intricati. Mi ritrovo a combinare le cose in metodi piacevoli, ordinati e modulari. Ogni metodo fa una cosa e la …
Questa domanda è stata migrata da StackTranslate.it perché è possibile rispondere su Software Stack Stack Exchange. Migrato 8 anni fa . Ho visto altri sviluppatori usare classi statiche come spazi dei nomi public static class CategoryA { public class Item1 { public void DoSomething() { } } public class Item2 …
Chiuso. Questa domanda è fuori tema . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che sia in argomento per Software Engineering Stack Exchange. Chiuso 4 anni fa . Di recente ho sentito un mentore di un istruttore che sviluppare giochi era il modo …
Ho il compito di ottenere un'applicazione legacy in unit test. Innanzitutto alcune informazioni sull'applicazione: si tratta di una base di codice RCP Java 600k LOC con questi problemi importanti enorme duplicazione del codice nessun incapsulamento, la maggior parte dei dati privati è accessibile dall'esterno, alcuni dei dati aziendali hanno anche …
Diciamo che ho un'interfaccia FooInterfaceche ha la seguente firma: interface FooInterface { public function doSomething(SomethingInterface something); } E una classe concreta ConcreteFooche implementa tale interfaccia: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Vorrei ConcreteFoo::doSomething()fare qualcosa di unico se viene passato un tipo speciale di SomethingInterfaceoggetto …
Non ricordo quando ho scritto la lezione generica l'ultima volta. Ogni volta che penso di averne bisogno dopo aver pensato che faccio una conclusione, non lo faccio. La seconda risposta a questa domanda mi ha fatto chiedere chiarimenti (dal momento che non posso ancora commentare, ho fatto una nuova domanda). …
Ci sono molte ragioni per cui i globi sono cattivi in OOP. Se il numero o la dimensione degli oggetti che richiedono la condivisione è troppo grande per essere passati in modo efficiente nei parametri di funzione, di solito tutti raccomandano l' iniezione di dipendenza anziché un oggetto globale. Tuttavia, …
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.