Domande taggate «object-oriented-design»

La progettazione orientata agli oggetti è il processo di pianificazione di un sistema di oggetti interagenti allo scopo di risolvere un problema software.

3
Come risolvere la dipendenza circolare?
Ho tre classi che sono circolari dipendenti l'una dall'altra: TestExecuter esegue le richieste di TestScenario e salva un file di report utilizzando la classe ReportGenerator. Così: TestExecuter dipende da ReportGenerator per generare il rapporto ReportGenerator dipende da TestScenario e dai parametri impostati da TestExecuter. TestScenario dipende da TestExecuter. Non riesco …


7
È un odore di codice impostare un flag in un loop per usarlo in seguito?
Ho un pezzo di codice in cui eseguo l'iterazione di una mappa fino a quando una determinata condizione è vera e successivamente utilizzo quella condizione per fare altre cose. Esempio: Map<BigInteger, List<String>> map = handler.getMap(); if(map != null && !map.isEmpty()) { for (Map.Entry<BigInteger, List<String>> entry : map.entrySet()) { fillUpList(); if(list.size() …


10
In che modo i sostenitori della Programmazione funzionale risponderebbero a questa affermazione nel Codice completo?
A pagina 839 della seconda edizione, Steve McConnell sta discutendo tutti i modi in cui i programmatori possono "conquistare la complessità" nei grandi programmi. I suoi consigli culminano con questa affermazione: "La programmazione orientata agli oggetti fornisce un livello di astrazione che si applica contemporaneamente agli algoritmi e ai dati …

17
Qual è il valore nel nascondere i dettagli attraverso le astrazioni? Non c'è valore nella trasparenza?
sfondo Non sono un grande fan dell'astrazione. Devo ammettere che si può trarre vantaggio dall'adattabilità, portabilità e riutilizzabilità delle interfacce ecc. C'è un vero vantaggio lì, e non voglio metterlo in discussione, quindi ignoriamolo. C'è l'altro grande "vantaggio" dell'astrazione, che è nascondere la logica di implementazione e i dettagli agli …


3
Cosa succede con i test dei metodi quando quel metodo diventa privato dopo la riprogettazione in TDD?
Diciamo che inizio a sviluppare un gioco di ruolo con personaggi che attaccano altri personaggi e quel genere di cose. Applicando TDD, realizzo alcuni casi di test per testare la logica all'interno del Character.receiveAttack(Int)metodo. Qualcosa come questo: @Test fun healthIsReducedWhenCharacterIsAttacked() { val c = Character(100) //arg is the health c.receiveAttack(50) …


6
Puoi implementare la programmazione "orientata agli oggetti" senza la parola chiave class?
Supponiamo di voler fornire un'astrazione di un "conto" in una banca. Ecco un approccio, usando un functionoggetto in Python: def account(): """Return a dispatch dictionary representing a bank account. >>> a = account() >>> a['deposit'](100) 100 >>> a['withdraw'](90) 10 >>> a['withdraw'](90) 'Insufficient funds' >>> a['balance'] 10 """ def withdraw(amount): if …

6
Esiste un modello di progettazione per rimuovere la necessità di verificare la presenza di bandiere?
Ho intenzione di salvare un po 'di payload di stringa nel database. Ho due configurazioni globali: crittografia compressione Questi possono essere abilitati o disabilitati usando la configurazione in modo che sia abilitato solo uno di essi, entrambi siano abilitati o entrambi siano disabilitati. La mia attuale implementazione è questa: if …

7
La programmazione funzionale ignora i vantaggi ottenuti da "Sui criteri da utilizzare per la decomposizione dei sistemi in moduli" (nascondere i dati)?
C'è un articolo classico chiamato On the Criteria To Be Use in Decomposing Systems in Modules che ho appena letto per la prima volta. Ha perfettamente senso per me ed è probabilmente uno di quegli articoli su cui si basava OOP. La sua conclusione: Abbiamo provato a dimostrare con questi …




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.