Domande con tag 'liskov-substitution'

2
risposte

Real World - Principio di sostituzione di Liskov

Background: sto sviluppando un framework di messaggistica. Questo framework consentirà: invio di messaggi su un bus di servizio abbonarsi alle code sul bus dei messaggi abbonarsi agli argomenti su un bus dei messaggi Attualmente stiam...
posta 24.11.2016 - 12:40
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
2
risposte

Stack extending LinkedList. Una violazione del principio di sostituzione di Liskov?

Esiste una classe LinkedList con funzioni come add_first (), add_last (), add_after (), remove_first (), remove_last () e remove () Ora c'è una classe Stack che fornisce funzionalità come push (), pop (), peek () o top (), e per implementare...
posta 13.12.2017 - 13:17
5
risposte

Il metodo che sovrascrive è sempre una violazione del principio di sostituzione di Liskov? [duplicare]

Sovrascrivere un metodo originariamente definito nella super classe, per definizione significa che questo metodo farà cose diverse quando viene invocato su un oggetto della classe base o su un oggetto della sottoclasse. Quindi questo signif...
posta 12.06.2014 - 12:36
5
risposte

Il principio di sostituzione di Liskov è incompatibile con Introspection o Duck Typing?

Ho ben capito che il principio di sostituzione di Liskov non può essere osservato nelle lingue in cui gli oggetti possono ispezionare se stessi, come quello che è normale in lingue dattilografate? Ad esempio, in Ruby, se una classe B e...
posta 30.07.2012 - 11:56
4
risposte

Come specificare una precondizione (LSP) in un'interfaccia in C #?

Diciamo che abbiamo la seguente interfaccia - interface IDatabase { string ConnectionString{get;set;} void ExecuteNoQuery(string sql); void ExecuteNoQuery(string[] sql); //Various other methods all requiring ConnectionString t...
posta 17.01.2017 - 07:07
6
risposte

Il problema dell'ellisse circolare può essere risolto invertendo la relazione?

Avere Circle estendere Ellipse rompe Liskov Principio di sottostazione , perché modifica una postcondizione: ovvero, puoi impostare X e Y indipendentemente per disegnare un'ellisse, ma X deve sempre uguagliare Y per cerchi. Ma non...
posta 04.04.2016 - 07:21
7
risposte

Il rettangolo dovrebbe ereditare dal quadrato? [duplicare]

Quindi, probabilmente abbiamo tutti familiarità con l'esempio fornito nella maggior parte dei libri di testo del problema di sostituzione di Liskov che coinvolge una eredita da rettangolo . L'obiezione a questo approccio è che mentre un quadr...
posta 23.12.2016 - 17:57
2
risposte

Come risolvere la violazione di LSP in base al presupposto minimo

Ho una classe Party con un costruttore che accetta Collection<Foo> . Ho in programma di avere due sottoclassi NpcParty e PlayerParty . Tutte le istanze di Party hanno un limite superiore per la dimensione della colle...
posta 22.04.2016 - 08:33
4
risposte

Quando nella tua classe le classi sono anche oggetti, il principio di sostituzione di Liskov si applica alle loro interfacce?

Secondo Wikipedia il principio di sostituzione di Liskov afferma che objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program Normalmente il principio di sostituzion...
posta 11.04.2016 - 22:02