Articles of modelli di progettazione

Come registrare automaticamente un corso sulla creazione

Mi chiedevo se esiste un modello di progettazione o un idioma per registrare automaticamente un tipo di class. O più semplice, posso forzare un metodo per essere chiamato su una class semplicemente estendendo una class base? Ad esempio, supponiamo di avere una class base Animal e di estendere le classi Tiger e Dog , e […]

A che cosa serve il pattern SyncRoot?

Sto leggendo il libro di ac # che descrive il pattern SyncRoot. Mostra void doThis() { lock(this){ … } } void doThat() { lock(this){ … } } e si confronta con il pattern SyncRoot: object syncRoot = new object(); void doThis() { lock(syncRoot ){ … } } void doThat() { lock(syncRoot){ … } } Tuttavia, […]

Modello di OLOO Pattern di Kyle Simpson vs Prototype Design

Il modello “OLOO (Oggetti che collega ad altri oggetti)” di Kyle Simpson differisce in qualche modo dal modello di progettazione di Prototipo? Oltre a coniare qualcosa che indica specificamente “il collegamento” (il comportamento dei prototipi) e chiarire che non c’è “copiare” qui (un comportamento delle classi), che cosa introduce esattamente il suo schema? Ecco un […]

Utilizzando un modello di strategia e un modello di comando

Entrambi i modelli di progettazione incapsulano un algoritmo e disaccoppiano i dettagli di implementazione dalle loro classi di chiamata. L’unica differenza che posso discernere è che il pattern Strategy accetta parametri per l’esecuzione, mentre il pattern Command non lo fa. Mi sembra che lo schema di comando richieda tutte le informazioni affinché l’esecuzione sia disponibile […]

Modelli di gestione della memoria in C ++

Penso di avere una notevole esperienza con i normali schemi (funzionali) progettati, come descritto ad esempio nella banda di quattro libri , che ho usato principalmente in Java e C #. In questi linguaggi “gestiti” questo è praticamente tutto ciò che devi sapere per portare a termine il tuo lavoro. Tuttavia, nel mondo C ++ […]

Qual è la differenza tra un modello Singleton e una class statica in Java?

In che modo un singleton è diverso da una class con solo campi statici?

Quando dovrei scegliere l’ereditarietà su un’interfaccia durante la progettazione di librerie di classi C #?

Ho un numero di classi Processor che farà due cose molto diverse, ma sono chiamate dal codice comune (una situazione di “inversione del controllo”). Mi chiedo quali considerazioni progettuali dovrei essere cognitivo (o cognitivo, per voi utenti) di quando decidere se dovrebbero ereditare da BaseProcessor , o implementare IProcessor come interfaccia.

Vantaggi e svantaggi del concatenamento dei metodi e possibilità di sostituire tutti i parametri di restituzione void dall’object stesso

Sono principalmente interessato a Java, ma penso che sia una domanda generale. Recentemente ho lavorato con il framework di Arquillian ( ShrinkWrap ) che utilizza un sacco di metodi di concatenamento. Altri esempi di concatenamento dei metodi sono i metodi in StringBuilder , StringBuffer . Ci sono ovvi vantaggi nell’usare questo approccio: la ridotta verbosità […]

Perché ogni object in Java estende implicitamente la class java.lang.Object?

Ho programmato in Java per un po ‘di tempo, ma quando ho cercato di spiegare che cosa è una class java.lang.Object ad un amico, non potrei inventare più di una semplice fodera: Tutti gli oggetti in Java estendono implicitamente java.lang.Object Non ero del tutto sicuro del motivo per cui dovrebbe farlo. Quindi, ho guardato il […]

Esiste un modo consigliato di utilizzare il pattern Observer in MVP usando GWT?

Sto pensando di implementare un’interfaccia utente secondo lo schema MVP usando GWT, ma ho dei dubbi su come procedere. Questi sono (alcuni dei) miei obiettivi: il presentatore non sa nulla della tecnologia dell’interfaccia utente (ad esempio non utilizza nulla da com.google. *) la vista non sa nulla del presentatore (non ancora sicuro se mi piacerebbe […]