Domande con tag 'liskov-substitution'

3
risposte

Prevenire la violazione di Liskov Sostituzione

Sto reimplementando alcuni componenti e ho notato che la versione originale ha una violazione di Liskov Substitution. Non è poi così importante, anche se mi piacerebbe sbarazzarmene nella nuova implementazione. Tuttavia, non mi è chiaro come far...
posta 27.02.2013 - 14:50
2
risposte

Confusione con il modello di fabbrica per quanto riguarda il principio di sostituzione di Liskov, la manutenibilità del codice e il test unitario?

Ho una certa confusione riguardo a Factory Pattern, ci sono fondamentalmente due modi per implementarli. Metodo 1: public interface IProductFactory { IProduct GetProductA(); IProduct GetProductB(); IProduct GetProductC(); } pub...
posta 28.08.2013 - 06:56
3
risposte

Come allentare i contratti di input per ereditarietà?

In base alla wiki di LSP : Substitutability is a principle in object-oriented programming stating that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e. an object of typ...
posta 07.10.2017 - 21:20
1
risposta

Principio di sostituzione di Liskov con classe genitore astratta

Il principio di sostituzione di Liskov si applica alle gerarchie di ereditarietà in cui il genitore è una classe astratta allo stesso modo se il genitore è un lezione di cemento? La pagina di Wikipedia elenca diverse condizioni che devono e...
posta 06.06.2014 - 18:12
2
risposte

Contravarianza degli argomenti, scopo e uso del mondo reale?

Ho letto alcune domande su SO e altrove e ancora non capisco bene dove questo "allargamento" di un tipo di parametro può essere utile, ad esempio il rispetto del principio di sostituzione di Liskov. Il seguente codice ho preso da una risposta su...
posta 30.01.2018 - 13:47
2
risposte

Principio di Liskov: le sottoclassi possono avere invarianti più forti. Come potrebbe funzionare?

Conoscendo il principio di Liskov, comprendo che le precondizioni possono essere indebolite e le postcondizioni possono essere più forti nei sottotipi. Tuttavia, non capisco come gli invarianti possano essere più forti nel sottotipo?  Se la clas...
posta 26.01.2018 - 08:53
1
risposta

Come tenere il passo con 'richiedere nuovi metodi in un'interfaccia' (seguire LSP e aggiungere nuovi metodi all'interfaccia sembra violare ISP)

Ho un gioco che si occupa delle porte di apertura e chiusura e del motore della porta si occupa dell'interfaccia IDoor che ha contratti Open () e Close () Fin qui tutto bene. il gioco è testato e funziona bene. Ora è necessaria una nuova fu...
posta 15.07.2015 - 15:42
3
risposte

Sostituzione di Liskov per vuoti e precondizioni indebolite

Sto imparando molto su questo principio (anche grazie a due risposte che ho ricevuto qui) e vorrei approfondire su un altro punto che qualcuno ha menzionato. 1) La seguente è una violazione di LSP? class Base { public virtual void Update...
posta 20.01.2018 - 11:38
2
risposte

Sostituzione di Liskov e classi astratte / modello di strategia

Sto cercando di seguire LSP nella programmazione pratica. E mi chiedo se diversi costruttori di sottoclassi lo violano. Sarebbe bello ascoltare una spiegazione invece di solo sì / no. Grazie mille! P.S. Se la risposta è no , come faccio a...
posta 10.12.2012 - 08:11
1
risposta

Principio di Liskov: violazione per tipo di suggerimento

Secondo il principio di Liskov, una costruzione come quella qui sotto non è valida, in quanto rafforza una pre-condizione. So che l'esempio è inutile / senza senso, ma quando ho fatto l'ultima volta una domanda come questa, e ho usato un esem...
posta 12.11.2013 - 10:51