Questa potrebbe essere o meno una domanda sciocca, ma mi piacerebbe davvero conoscere la risposta a qualcosa che mi ha infastidito per un po '. Vedo abbastanza spesso esempi / convenzioni di programmazione in cui il programmatore ha creato una directory chiamata acmeper inserire materiale. Cosa Acmesignifica? Perché Acme e …
Sono interessato a sapere se il modello ActiveRecord, reso famoso da Ruby on Rails, incoraggia o scoraggia l'uso dei principi di progettazione SOLID . Ad esempio, mi sembra che gli oggetti ActiveRecord contengano entrambi la logica di dominio e la logica di persistenza, che costituisce una violazione della responsabilità singola.
Nel codice legacy di tanto in tanto vedo classi che non sono altro che wrapper per i dati. qualcosa di simile a: class Bottle { int height; int diameter; Cap capType; getters/setters, maybe a constructor } La mia comprensione di OO è che le classi sono strutture per i dati …
Nella maggior parte dei linguaggi OOP, gli oggetti sono generalmente mutabili con una serie limitata di eccezioni (come ad esempio tuple e stringhe in Python). Nella maggior parte dei linguaggi funzionali, i dati sono immutabili. Sia gli oggetti mutabili che quelli immutabili portano un intero elenco di vantaggi e svantaggi. …
Nel tempo ho capito due parti di SOLID : la "S" e la "O". "O" - Ho imparato Open Closed Principle con l'aiuto di Ereditarietà e modello strategico. "S": ho appreso il principio della responsabilità singola durante l'apprendimento dell'ORM (la logica di persistenza è tolta dagli oggetti del dominio). In …
Secondo Quando l'ossessione primitiva non è un odore di codice? , Dovrei creare un oggetto ZipCode per rappresentare un codice postale anziché un oggetto String. Tuttavia, nella mia esperienza, preferisco vedere public class Address{ public String zipCode; } invece di public class Address{ public ZipCode zipCode; } perché penso che …
Sto solo progettando la mia applicazione e non sono sicuro di aver compreso correttamente SOLID e OOP. Le classi dovrebbero fare 1 cosa e farlo bene, ma d'altra parte dovrebbero rappresentare oggetti reali con cui lavoriamo. Nel mio caso eseguo un'estrazione di funzionalità su un set di dati e quindi …
Continuo a chiedermi se è legittimo usare verbi basati su sostantivi in OOP. Mi sono imbattuto in questo brillante articolo , anche se non sono ancora d'accordo con il punto. Per spiegare un po 'di più il problema, l'articolo afferma che non dovrebbe esserci, per esempio, una FileWriterclasse, ma poiché …
Esiste una definizione esatta, ma semplice e comprensibile della distinzione tra "caso d'uso", "User Story" e "Usage Scenario"? ci sono molte spiegazioni, ma in questo momento non vedo nessuno che spieghi le differenze in una singola frase, o due ... (ad es. http://c2.com/cgi-bin/wiki?UserStoryAndUseCaseComparison molto lungo e difficile da ottenere, pieno …
Quando eseguiamo il ciclo rosso, verde e refattore dovremmo sempre scrivere il codice minimo per superare il test. Questo è il modo in cui mi è stato insegnato il TDD e il modo in cui quasi tutti i libri descrivono il processo. Ma per quanto riguarda la registrazione? Onestamente ho …
Stiamo cambiando il modo in cui la nostra applicazione AS3 parla al nostro back-end e stiamo implementando un sistema REST per sostituire quello vecchio. Purtroppo lo sviluppatore che ha iniziato il lavoro è ora in congedo per malattia a lungo termine ed è stato consegnato a me. Ci lavoro da …
Questa domanda è in qualche modo indipendente dal linguaggio, ma non completamente, dal momento che la programmazione orientata agli oggetti (OOP) è diversa, ad esempio, in Java , che non ha funzioni di prima classe, rispetto a Python . In altre parole, mi sento meno in colpa per la creazione …
Conosco la sintassi, le regole applicate alla classe astratta e voglio sapere l'uso di una classe astratta La classe astratta non può essere istanziata direttamente ma può essere estesa da un'altra classe Qual è il vantaggio di farlo? In che modo differisce da un'interfaccia? So che una classe può implementare …
Il programma CS della mia scuola evita qualsiasi menzione di programmazione orientata agli oggetti, quindi ho fatto alcune letture per conto mio per integrarlo - in particolare, la costruzione di software orientata agli oggetti di Bertrand Meyer. Meyer sottolinea ripetutamente che le classi dovrebbero nascondere quante più informazioni possibili sulla …
Sono confuso su alcune delle notazioni dei diagrammi di classe UML. Abbastanza sicuro di sapere cosa significhi Associazione . Qualsiasi relazione tra istanze di due classi, in cui un'istanza di una classe deve conoscere un'istanza della seconda classe per eseguire il suo lavoro - è una relazione di associazione. Un'associazione …
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.