Domande con tag 'design-patterns'

1
risposta

Il principio di sostituzione di Liskov si applica anche alle classi che implementano un'interfaccia?

LSP afferma che le classi dovrebbero essere sostituibili per le loro classi di base, il che significa che le classi derivate e di base dovrebbero essere equivalenti semanticamente. Ma LSP si applica anche alle classi che implementano un'inter...
posta 22.10.2012 - 20:49
8
risposte

Is Dependency Injection vale la pena al di fuori del test unitario

Dato un costruttore che non dovrà mai e poi mai usare diverse implementazioni di diversi oggetti che inizializza, è ancora pratico usare DI? Dopotutto, potremmo ancora voler testare le unità. La classe in questione inizializza alcune altre cl...
posta 23.09.2013 - 13:00
2
risposte

Principio di minimo stupore (POLA) e interfacce

Un buon quarto di secolo fa, quando stavo imparando il C ++, mi è stato insegnato che le interfacce dovevano essere indulgenti e, per quanto possibile, non mi importava dell'ordine che i metodi venivano chiamati poiché il consumatore potrebbe no...
posta 14.04.2016 - 10:21
5
risposte

Le enumerazioni creano interfacce fragili?

Considera l'esempio qui sotto. Qualsiasi modifica all'enumerazione ColorChoice interessa tutte le sottoclassi di IWindowColor. Le enumerazioni tendono a causare interfacce fragili? C'è qualcosa di meglio di un enum per consentire una maggiore...
posta 16.03.2015 - 21:39
3
risposte

Il modello di stato viola il principio di sostituzione di Liskov?

Questa immagine è tratta da Applicazione di design e pattern basati sul dominio: con esempi in C # e .NET Questoèildiagrammadiclasseperil Pattern di stato dove un SalesOrder può avere stati diversi durante la sua vita. Sono consentit...
posta 08.01.2013 - 19:30
6
risposte

Strategie per evitare SQL nei controller ... o quanti metodi dovrei avere nei miei modelli?

Quindi una situazione in cui mi imbatto ragionevolmente spesso è quella in cui i miei modelli iniziano a: Crescere in mostri con tonnellate e tonnellate di metodi o Permetti di passare a loro pezzi di SQL, in modo che siano abbastanza...
posta 06.04.2012 - 03:50
4
risposte

In che modo avere troppe variabili di istanza porta a duplicare il codice?

In base a Refactoring to Patterns : When a class is trying to do too much, it often shows up as too many instance variables. When a class has too many instance variables, duplicated code cannot be far behind. In che modo avere tropp...
posta 14.11.2015 - 02:30
14
risposte

Come posso spiegare l'utilità dell'ereditarietà? [chiuso]

Quando si tenta di spiegare il concetto di ereditarietà in OOP, l'esempio comune è spesso l'esempio dei mammiferi. IMHO, questo è davvero un cattivo esempio, perché porterà i neofiti a usare questo concetto nel modo sbagliato. Inoltre, non è un...
posta 14.09.2011 - 10:45
8
risposte

Refactoring di un metodo lungo basato su un numero elevato di casi di switch [duplicato]

Stiamo utilizzando Java come linguaggio di sviluppo back-end. Un anno fa, abbiamo scritto un metodo che utilizza casi di switch basati su valori Enums. Dato che stiamo aggiungendo continuamente membri di enum e secondo i casi di aggiunta ne...
posta 05.01.2016 - 08:18
4
risposte

Non riesco a cogliere schemi di progettazione della programmazione

Ho lavorato con javascript negli ultimi 4 anni. Sono molto fiducioso sulle mie capacità di problem solving e posso vedere che la mia qualità del codice sta migliorando. Cerco di rimanere aggiornato con la community e attualmente sto lavorando co...
posta 19.08.2016 - 21:07