Domande con tag 'design-principles'

9
risposte

Cosa può andare storto se viene violato il principio di sostituzione di Liskov?

Stavo seguendo questa domanda altamente votata sulla possibile violazione del principio di sostituzione di Liskov. So qual è il principio di sostituzione di Liskov, ma quello che non è ancora chiaro nella mia mente è cosa potrebbe andare stort...
posta 17.10.2012 - 17:04
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
6
risposte

Accoppiamento lento in design orientato agli oggetti

Sto cercando di imparare GRASP e ho trovato questo spiegato ( qui a pagina 3 ) su Low Coupling e sono rimasto molto sorpreso quando ho trovato questo: Consider the method addTrack for an Album class, two possible methods are: addTrack(...
posta 27.06.2013 - 17:40
4
risposte

Come si applica la legge di Demeter ai sistemi orientati agli oggetti per quanto riguarda l'accoppiamento e la coesione? [chiuso]

In che modo la Legge di Demetra applicata ai sistemi orientati agli oggetti con accoppiamento e coesione ? Stavo leggendo un libro "Sviluppo software e pratica professionale" e ho trovato il capitolo su LoD ed ero curioso di sapere come a...
posta 06.01.2013 - 14:52
1
risposta

Come verificare il principio di sostituzione di Liskov in una gerarchia ereditaria?

Ispirato alla risposta : Liskov Substitution Principle requires that Preconditions cannot be strengthened in a subtype. Postconditions cannot be weakened in a subtype. Invariants of the supertype must be preserved in a subtyp...
posta 17.10.2012 - 12:45
3
risposte

Due definizioni contraddittorie del principio di segregazione dell'interfaccia - quale è corretto?

Durante la lettura di articoli su ISP, sembrano esserci due definizioni contraddittorie di ISP: Secondo la prima definizione (vedi 1 , 2 , 3 ), l'ISP afferma che le classi che implementano l'interfaccia non dovrebbero essere costrette ad i...
posta 21.06.2013 - 18:41
5
risposte

Ci sono degli svantaggi significativi nel dipendere dalle astrazioni?

Stavo leggendo questo wiki sul principio delle astrazioni stabili (SAP) . Il SAP afferma che più un pacchetto è stabile più dovrebbe essere astratto. Ciò implica che se un pacchetto è meno stabile (più probabile che cambi), allora dovrebbe e...
posta 09.11.2015 - 11:25
5
risposte

Quando interrompere l'ereditarietà?

Una volta fa ho chiesto una domanda su Stack Overflow sull'ereditarietà. Ho detto che progettavo il motore degli scacchi in modalità OOP. Quindi eredito tutti i miei pezzi dalla classe astratta di Piece, ma l'eredità va ancora. Fammi mostra...
posta 18.04.2012 - 10:48
3
risposte

È un principio di base, o altamente desiderabile, avere metodi di classe che restituiscano "$ this" piuttosto che un valore?

Ho appena iniziato a imparare OOP. Ho iniziato circa un anno fa e ho scritto probabilmente 15000 righe di esso. Ma ho scritto tutto con pochissima esperienza guardando l'OOP di altre persone. La maggior parte delle mie funzioni di classe rest...
posta 30.01.2013 - 01:59
2
risposte

Principio di inversione delle dipendenze: Comprendere come sia le componenti di basso livello che i componenti di alto livello dipendono dalle astrazioni

Sto imparando il principio di inversione delle dipendenze. Dichiara che: High level modules should not depend upon low-level modules. Both should depend upon abstractions. Per un po 'ho cercato di capire cosa significa che sia i compon...
posta 06.04.2014 - 16:11