In primo luogo, ho letto un estratto del saggio di Edsger W. Dijkstra del 1974 "Sul ruolo del pensiero scientifico": Lascia che provi a spiegarti, quali sono i miei gusti caratteristici di tutto il pensiero intelligente. È che uno è disposto a studiare in profondità un aspetto della propria materia …
Ho incontrato un dibattito tra alcuni amici e I. Preferiscono eccezioni generali come ClientErrorExceptione ServerErrorExceptioncon i dettagli come campi dell'eccezione, mentre preferisco rendere le cose più specifiche. Ad esempio, potrei avere una manciata di eccezioni come: BadRequestException AuthenticationFailureException ProductNotFoundException Ognuno di questi costruito sulla base del codice di errore restituito …
Scrivo un sacco di codice che prevede tre passaggi di base. Ottieni dati da qualche parte. Trasforma quei dati. Metti quei dati da qualche parte. In genere finisco per usare tre tipi di lezioni, ispirate ai rispettivi modelli di progettazione. Fabbriche - per costruire un oggetto da una risorsa. Mediatori: …
Ho una gerarchia di classi per la quale vorrei separare l'interfaccia dall'implementazione. La mia soluzione è avere due gerarchie: una gerarchia di classi handle per l'interfaccia e una gerarchia di classi non pubbliche per l'implementazione. La classe handle di base ha un puntatore all'implementazione che le classi di handle derivate …
Sto creando un'interfaccia in Java per il gestore degli errori personalizzato. Vuoi passare un oggetto errore argomento ma ho bisogno che sia figlio di Exceptionclasse. Va bene usare il nome della mia classe definita in un'interfaccia? Non renderà meno un'interfaccia in termini di non dipendere da alcuna implementazione? Provo a …
Su PPCG, abbiamo spesso sfide di King of the Hill , che mettono a confronto diversi bot di codice. Non ci piace limitare queste sfide a una sola lingua, quindi facciamo comunicazione multipiattaforma su I / O standard. Il mio obiettivo è quello di scrivere un framework che gli autori …
C'è una parte della nostra base di codice scritta nel seguente stile: // IScheduledTask.cs public interface IScheduledTask { string TaskName { get; set; } int TaskPriority { get; set; } List<IScheduledTask> Subtasks { get; set; } // ... several more properties in this vein } // ScheduledTaskImpl.cs public class ScheduledTaskImpl …
Dallo sviluppo software agile, principi, modelli e pratiche: Pearson New International Edition : A volte, i metodi invocati da diversi gruppi di client si sovrappongono. Se la sovrapposizione è piccola, le interfacce per i gruppi dovrebbero rimanere separate. Le funzioni comuni dovrebbero essere dichiarate in tutte le interfacce sovrapposte. La …
Quindi, sì, a volte i diagrammi possono essere inappropriati. Quando sono inappropriati? Quando li crei senza codice per convalidarli e quindi intendi seguirli. Non c'è niente di sbagliato nel disegnare un diagramma per esplorare un'idea. Sviluppo software agile: principi, schemi e pratiche - Robert C. Martin Cosa intende esattamente con …
Stavo leggendo questo wiki sul principio delle astrazioni stabili (SAP) . Il SAP afferma che più stabile è un pacchetto, più astratto dovrebbe essere. Ciò implica che se un pacchetto è meno stabile (più probabilità di cambiare), dovrebbe essere più concreto. Quello che non capisco davvero è perché questo dovrebbe …
Supponiamo che tu abbia un qualche tipo di struttura di dati, che è persistente in un qualche tipo di database. Per semplicità, chiamiamo questa struttura di dati Person. Ora ti viene assegnato il compito di progettare un'API CRUD, che consente ad altre applicazioni di creare, leggere, aggiornare ed eliminare messaggi …
Sto scrivendo un'applicazione C ++. La maggior parte delle applicazioni legge e scrive citazioni di dati necessarie e questa non fa eccezione. Ho creato un design di alto livello per il modello di dati e la logica di serializzazione. Questa domanda richiede una revisione del mio progetto tenendo presenti questi …
Ho sentito che si consiglia di convalidare gli argomenti dei metodi pubblici: Si dovrebbe verificare la null se non si aspetta null? Un metodo dovrebbe convalidare i suoi parametri? MSDN - CA1062: Convalida argomenti di metodi pubblici (ho un background .NET ma la domanda non è specifica per C #) …
Contesto A causa dell'apolidia dello stile architettonico REST che implica che ogni richiesta è completamente indipendente, il server non memorizza mai alcuna informazione sul client. Pertanto, il controllo pessimistico della concorrenza non è adatto perché richiederebbe a quel server store quale client ottiene il blocco su una risorsa. Vengono quindi …
L'obiettivo della mia attività è progettare un piccolo sistema in grado di eseguire attività ricorrenti pianificate. Un'attività ricorrente è qualcosa come "inviare un'e-mail all'amministratore ogni ora dalle 8:00 alle 17:00, dal lunedì al venerdì". Ho una classe base chiamata RecurringTask . public abstract class RecurringTask{ // I've already figured out …
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.