Diciamo che stiamo facendo un parser. Un'implementazione potrebbe essere: public sealed class Parser1 { public string Parse(string text) { ... } } Oppure potremmo invece passare il testo al costruttore: public sealed class Parser2 { public Parser2(string text) { this.text = text; } public string Parse() { ... } } …
Supponiamo che ci sia una Pageclasse, che rappresenta un insieme di istruzioni per un renderer di pagine. E supponiamo che esista una Rendererclasse che sappia renderizzare una pagina sullo schermo. È possibile strutturare il codice in due modi diversi: /* * 1) Page Uses Renderer internally, * or receives it …
Vedo immutabili i vantaggi di rendere gli oggetti nel mio programma. Quando penso davvero a un buon design per la mia applicazione, spesso arrivo naturalmente a molti dei miei oggetti immutabili. Spesso arriva al punto in cui vorrei avere tutti i miei oggetti immutabili. Questa domanda si occupa della stessa …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 2 anni fa . Leggendo un articolo caotico sugli aspetti negativi di OOP a favore …
Ho letto che quando il tuo programma ha bisogno di sapere che classe è un oggetto, di solito indica un difetto di progettazione, quindi voglio sapere qual è una buona pratica per gestirlo. Sto implementando una classe Shape con diverse sottoclassi ereditate da essa come Circle, Polygon o Rectangle e …
Mi è stato dato un codice Java da guardare, che simula una gara automobilistica, di cui include un'implementazione di una macchina a stati di base. Questa non è una classica macchina a stati informatici, ma semplicemente un oggetto che può avere più stati e può passare da uno stato all'altro …
Sto cercando di creare un programma per la gestione dei dipendenti. Non riesco, tuttavia, a capire come progettare la Employeeclasse. Il mio obiettivo è essere in grado di creare e manipolare i dati dei dipendenti sul database utilizzando un Employeeoggetto. L'implementazione di base a cui ho pensato era questa semplice: …
A volte l'utente avvia un'operazione tecnica estesa che richiede del tempo per essere eseguita. In questi casi, di solito è bello visualizzare una sorta di barra di avanzamento, insieme alle informazioni su quale attività è in esecuzione in questo momento. Al fine di evitare un accoppiamento ravvicinato dell'interfaccia utente e …
Sto cercando di seguire il principio DRY nella mia programmazione il più forte possibile. Recentemente ho imparato modelli di progettazione in OOP e ho finito per ripetermi un bel po '. Ho creato un modello di repository insieme a modelli Factory e Gateway per gestire la mia persistenza. Sto usando …
Data una classe Python che verrà istanziata una sola volta, cioè ci sarà un solo oggetto della classe. Mi chiedevo in quali casi ha senso creare una singola istanza di classe invece di lavorare direttamente con la classe. C'è una domanda simile , ma ha un focus diverso: si tratta …
Prendi in considerazione un'interfaccia: interface IWaveGenerator { SoundWave GenerateWave(double frequency, double lengthInSeconds); } Questa interfaccia è implementata da un numero di classi che generano ondate di forme diverse (ad esempio, SineWaveGeneratore SquareWaveGenerator). Voglio implementare una classe che genera una SoundWavebasata su dati musicali, non su dati audio grezzi. Riceverà il …
Sono venuto da un background C ++ e sto andando tutto fuori C # nel mio lavoro attuale e ho appena letto un sacco di domande e risposte su qual è la differenza tra campi pubblici e proprietà e tutto il avanti e indietro nelle variazioni e incarnazioni di questo …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 5 anni fa . In uno dei tanti rant anti-OOP su cat-v.org ho trovato un …
Si prega di considerare questa classe: class ClassA{ private Thing[] things; // stores data // stuff omitted public Thing[] getThings(){ return things; } } Questa classe espone l'array che utilizza per archiviare i dati, a qualsiasi codice client interessato. L'ho fatto in un'app a cui sto lavorando. Avevo una ChordProgressionclasse …
Questa è una domanda piuttosto vaga, ma è qualcosa a cui non ho mai sentito una risposta soddisfacente quando leggo del design corretto. Generalmente, quando si impara sulla programmazione orientata agli oggetti, l'astrazione, il factoring, ecc., Il santo graal del design - e il motivo per cui affermano sempre che …
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.