Domande taggate «object-oriented»

Una metodologia che consente di modellare un sistema come un insieme di oggetti che possono essere controllati e manipolati in modo modulare



9
Principi OOP e nomi dei metodi
class Boxer: def punch(self, punching_bag, strength): punching_bag.punch(strength) class PunchingBag: def punch(self, strength): print "Punching bag punched with strength", strength boxer = Boxer() punching_bag = PunchingBag() boxer.punch(punching_bag, 2) Non c'è dubbio che punchsia un buon nome di metodo in caso di un pugile. Ma il nome punchè buono anche per il …

6
Un oggetto dovrebbe conoscere il proprio ID?
obj.idsembra abbastanza comune e sembra anche rientrare nel raggio di qualcosa che un oggetto potrebbe conoscere su se stesso. Mi trovo a chiedermi perché il mio oggetto dovrebbe conoscere il proprio ID? Non sembra avere un motivo per averlo? Uno dei motivi principali della sua esistenza è recuperarlo, quindi i …


6
L'accoppiamento lento senza casi d'uso è un anti-schema?
L'accoppiamento lento è, per alcuni sviluppatori, il santo graal di software ben progettato. È certamente positivo quando rende il codice più flessibile di fronte ai cambiamenti che potrebbero verificarsi nel prossimo futuro, o evita la duplicazione del codice. D'altro canto, gli sforzi per accoppiare liberamente i componenti aumentano la quantità …

3
Come gestire i casi di errore nel costruttore della classe C ++?
Ho una classe CPP il cui costruttore esegue alcune operazioni. Alcune di queste operazioni potrebbero non riuscire. So che i costruttori non restituiscono nulla. Le mie domande sono: È consentito eseguire alcune operazioni diverse dall'inizializzazione dei membri in un costruttore? È possibile dire alla funzione chiamante che alcune operazioni nel …






5
I casi speciali con fallback violano il principio di sostituzione di Liskov?
Diciamo che ho un'interfaccia FooInterfaceche ha la seguente firma: interface FooInterface { public function doSomething(SomethingInterface something); } E una classe concreta ConcreteFooche implementa tale interfaccia: class ConcreteFoo implements FooInterface { public function doSomething(SomethingInterface something) { } } Vorrei ConcreteFoo::doSomething()fare qualcosa di unico se viene passato un tipo speciale di SomethingInterfaceoggetto …

3
Generics vs interfaccia comune?
Non ricordo quando ho scritto la lezione generica l'ultima volta. Ogni volta che penso di averne bisogno dopo aver pensato che faccio una conclusione, non lo faccio. La seconda risposta a questa domanda mi ha fatto chiedere chiarimenti (dal momento che non posso ancora commentare, ho fatto una nuova domanda). …

5
Quali sono i vantaggi dell'iniezione di dipendenza nei casi in cui quasi tutti hanno bisogno di accedere a una struttura dati comune?
Ci sono molte ragioni per cui i globi sono cattivi in OOP. Se il numero o la dimensione degli oggetti che richiedono la condivisione è troppo grande per essere passati in modo efficiente nei parametri di funzione, di solito tutti raccomandano l' iniezione di dipendenza anziché un oggetto globale. Tuttavia, …

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.