Sto scrivendo test unit JUnit per le mie lezioni. È meglio avere una classe separata per ciascun metodo o avere solo una classe di prova per ogni classe effettiva?
Come sono organizzati gli oggetti nella memoria? Ad esempio, so che una funzione è un pezzo di codice in memoria, che prevede parametri tramite lo stack e / o i registri e gestisce il proprio frame dello stack. Ma gli oggetti sono una struttura molto più complicata. Come sono organizzati? …
Ho programmato in diversi linguaggi come Java, Ruby, Haskell e Python. Devo passare da una lingua all'altra a causa di diversi progetti su cui lavoro. Ora, il problema è che spesso dimentico di scrivere selfcome il primo parametro nelle definizioni delle funzioni in Python stesso è con i metodi di …
Sto cercando di insegnare a me stesso l'ingegneria del software e trovo alcune informazioni contrastanti che mi confondono. Ho imparato OOP e quali sono le classi / interfacce astratte e come usarle, ma poi sto leggendo che si dovrebbe "favorire la composizione sull'eredità". Capisco la composizione quando una classe compone …
Sto leggendo il libro Principi, pratiche e schemi dell'iniezione di dipendenza e ho letto il concetto di astrazione che perde, che è ben descritto nel libro. In questi giorni sto refactoring di una base di codice C # usando l'iniezione di dipendenza in modo che vengano utilizzate chiamate asincrone invece …
In Domain Driven Design, il livello di dominio può avere diversi servizi (tradizionali). Ad esempio, per il dominio Utente, potremmo avere: Una UserFactory, che crea oggetti utente in diversi modi Un archivio utenti, che è responsabile dell'interazione con i servizi di persistenza nel livello dell'infrastruttura Un UserService nel livello di …
L'estrazione della funzionalità in metodi o funzioni è un must per la modularità del codice, la leggibilità e l'interoperabilità, specialmente in OOP. Ciò significa che verranno effettuate più funzioni. In che modo la suddivisione del nostro codice in metodi o funzioni influisce effettivamente sulle prestazioni in linguaggi moderni * ? …
Un'implementazione tipica di un repository DDD non sembra molto OO, ad esempio un save()metodo: package com.example.domain; public class Product { /* public attributes for brevity */ public String name; public Double price; } public interface ProductRepo { void save(Product product); } Parte dell'infrastruttura: package com.example.infrastructure; // imports... public class JdbcProductRepo …
Quindi ho notato che è possibile evitare di inserire funzioni private nelle intestazioni facendo qualcosa del genere: // In file pred_list.h: class PredicateList { int somePrivateField; friend class PredicateList_HelperFunctions; public: bool match(); } // In file pred_list.cpp: class PredicateList_HelperFunctions { static bool fullMatch(PredicateList& p) { return p.somePrivateField == 5; // …
Nel mio sistema ho spesso operare con codici aeroportuali ( "YYZ", "LAX", "SFO", etc.), sono sempre nello stesso identico formato (3 lettera, rappresentato in maiuscolo). Il sistema in genere gestisce 25-50 di questi (diversi) codici per richiesta API, con oltre un migliaio di allocazioni totali, vengono passati attraverso molti livelli …
Questa domanda su quando usare il privato e quando usare la protezione in classe mi ha fatto riflettere. (Estenderò questa domanda anche alle classi e ai metodi finali, poiché è correlata. Sto programmando in Java, ma penso che questo sia rilevante per ogni linguaggio OOP) La risposta accettata dice: Una …
È corretto affermare che è buona norma impostare tutto in privateprimo piano quando si codifica qualcosa? E quindi aggiornarlo solo protectedse una sottoclasse ne ha bisogno o publicse ne ha bisogno un'altra classe?
Il become:messaggio in Smalltalk fa sì che un oggetto si trasformi in un altro, influenzando tutti i riferimenti ad esso. Che usi ha questa funzionalità linguistica? Viene utilizzato nel codice reale? È solo una curiosità? È considerato una buona / cattiva pratica usarlo?
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 5 anni fa . Nel mio codice inserisco un logger in molte delle mie classi …
La mia domanda riguarda un caso speciale dell'Animale super class. La mia Animallattina moveForward()e eat(). Sealsi estende Animal. Dogsi estende Animal. E c'è una creatura speciale che si estende anche Animalchiamata Human. Humanimplementa anche un metodo speak()(non implementato da Animal). In un'implementazione di un metodo astratto che accetta Animalvorrei usare …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.