In alcuni codici che sto recensendo, vedo cose che sono l'equivalente morale di quanto segue: public class Foo { private Bar bar; public MethodA() { bar = new Bar(); bar.A(); bar = null; } public MethodB() { bar = new Bar(); bar.B(); bar = null; } } Il campo barqui …
Downcasting significa trasmettere da una classe base (o interfaccia) a una sottoclasse o foglia. Un esempio di downcast potrebbe essere se si esegue il cast da System.Objectun altro tipo. Il downcasting è impopolare, forse un odore di codice: la dottrina orientata agli oggetti è quella di preferire, ad esempio, la …
Qual è la differenza tra i due metodi UpdateSubject di seguito? Sentivo che usare metodi statici è meglio se vuoi solo operare sulle entità. In quali situazioni dovrei scegliere metodi non statici? public class Subject { public int Id {get; set;} public string Name { get; set; } public static …
Il principio di responsabilità singola afferma che una classe dovrebbe fare una sola cosa. Alcuni casi sono piuttosto chiari. Altri, tuttavia, sono difficili perché ciò che assomiglia a "una cosa" se vista a un dato livello di astrazione può essere più cose se vista a un livello inferiore. Temo anche …
Oggi ho avuto una discussione con qualcuno. Stavo spiegando i vantaggi di avere un modello di dominio ricco rispetto a un modello di dominio anemico. E ho dimostrato il mio punto con una semplice classe simile a quella: public class Employee { public Employee(string firstName, string lastName) { FirstName = …
Sono ancora uno studente al liceo (che frequenta la terza media) e devo ancora frequentare un vero corso di informatica a scuola. Tutto ciò che ho fatto finora è attraverso i libri. Quei libri mi hanno insegnato concetti come l'ereditarietà, ma in che modo può essere utile suddividere un programma …
L'idea principale dietro OOP è quella di unificare i dati e il comportamento in una singola entità: l'oggetto. Nella programmazione procedurale ci sono dati e algoritmi separati che modificano i dati. Nel modello Model-View-Controller i dati e la logica / algoritmi sono collocati in entità distinte, rispettivamente il modello e …
Ho avuto una discussione molto stimolante e interessante con un collega su ORM e sui suoi pro e contro. Secondo me, un ORM è utile solo nei casi più rari. Almeno nella mia esperienza. Ma non voglio elencare i miei argomenti in questo momento. Quindi ti chiedo, cosa ne pensi …
Riepilogo del problema: Per farla breve, ho ereditato una base di codice e un team di sviluppo che non posso sostituire e l'uso di God Objects è un grosso problema. Andando avanti, voglio che ri-fattorizziamo le cose, ma sto ricevendo respingimenti dai team che vogliono fare tutto con God Objects …
Forse la più grande promessa di usare il paradigma orientato agli oggetti è il riutilizzo del codice. Alcuni contestano che ciò sia stato raggiunto. Perché è stato (non) raggiunto? Il riutilizzo del codice come OOP lo definisce, rende i progetti più produttivi? O più gestibile? O più facile da mantenere? …
Sto solo finendo il mio master (in informatica) e facendo domanda per un lavoro. Ho notato che molte aziende chiedono specificamente una comprensione dell'orientamento agli oggetti. Le domande più frequenti sull'intervista riguardano ereditarietà, polimorfismo, accessori, ecc. OO è davvero così cruciale? Ho anche avuto un'intervista per un lavoro di programmazione …
Il C ++ ha una semplice eredità multipla, molti progetti linguistici lo vietano come pericoloso. Ma alcune lingue come Ruby e PHP usano strana sintassi per fare la stessa cosa e chiamarla mixin o tratti. Ho sentito molte volte che i mixin / tratti sono più difficili da abusare della …
Dove lavoro vedo molte classi che fanno cose come questa: public class ClassThatCallsItsOwnGettersAndSetters { private String field; public String getField() { return field; } public void setField(String field) { this.field = field; } public void methodWithLogic() { setField("value"); //do stuff String localField = getField(); //do stuff with "localField" } } …
L'ho visto più volte ripetere che la programmazione orientata agli oggetti si basa sulla modellizzazione del mondo reale, ma è vero? Mi sembra che non sia vero per nulla al di fuori del livello aziendale. Le mie classi GUI / classi di accesso ai dati non modellano nulla nel mondo …
Qual è lo scopo dei contenitori IOC? Le ragioni combinate di ciò possono essere semplificate come segue: Quando si utilizzano i principi di sviluppo OOP / SOLID, l'iniezione di dipendenza diventa disordinata. O hai i punti di ingresso di livello superiore che gestiscono le dipendenze per più livelli sottostanti e …
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.