Sembra abbastanza chiaro che "Principio della singola responsabilità" non significa "fa solo una cosa". Ecco a cosa servono i metodi. public Interface CustomerCRUD { public void Create(Customer customer); public Customer Read(int CustomerID); public void Update(Customer customer); public void Delete(int CustomerID); } Bob Martin afferma che "le lezioni dovrebbero avere solo …
Mi è sempre piaciuta l'idea di avere l'ereditarietà multipla supportata in una lingua. Molto spesso però è stato intenzionalmente dimenticato, e la presunta "sostituzione" sono interfacce. Le interfacce semplicemente non coprono tutto lo stesso terreno dell'ereditarietà multipla, e questa restrizione può occasionalmente portare a più codice della caldaia. L'unica ragione …
Sto scrivendo lezioni che "devono essere usate in un modo specifico" (suppongo che tutte le classi debbano ...). Ad esempio, creo la fooManagerclasse, che richiede una chiamata, per esempio, a Initialize(string,string). E, per spingere un po 'più in là l'esempio, la classe sarebbe inutile se non ascoltiamo la sua ThisHappenedazione. …
Nella progettazione del mio programma, arrivo spesso al punto in cui devo passare istanze di oggetti attraverso diverse classi. Ad esempio, se ho un controller che carica un file audio e quindi lo passa a un lettore e il lettore lo passa al playerRunnable, che lo passa di nuovo da …
Mi capita spesso di imbattermi in questo problema, soprattutto in Java, anche se penso che sia un problema OOP generale. Cioè: sollevare un'eccezione rivela un problema di progettazione. Supponiamo che io abbia una classe che ha un String namecampo e un String surnamecampo. Quindi utilizza quei campi per comporre il …
In un mio recente progetto, ho definito una classe con la seguente intestazione: public class Node extends ArrayList<Node> { ... } Tuttavia, dopo aver discusso con il mio professore di CS, ha dichiarato che la classe sarebbe stata "orribile per la memoria" e "cattiva pratica". Non ho trovato il primo …
Supponiamo che all'interno della parte privata di una classe vi sia un valore che viene utilizzato da più metodi privati. Le persone preferiscono averlo definito come variabile membro per la classe o passarlo come argomento a ciascuno dei metodi - e perché? Da un lato, ho potuto vedere un argomento …
Considera il seguente disegno public class Person { public virtual string Name { get; } public Person (string name) { this.Name = name; } } public class Karl : Person { public override string Name { get { return "Karl"; } } } public class John : Person { public …
Questa domanda riguarda se fare in modo che una classe nidificata in Java sia una classe nidificata statica o una classe nidificata interna. Ho cercato qui e su Stack Overflow, ma non sono riuscito a trovare alcuna domanda in merito alle implicazioni di progettazione di questa decisione. Le domande che …
Diciamo che ho una Carlezione: public class Car { public string Engine { get; set; } public string Seat { get; set; } public string Tires { get; set; } } Diciamo che stiamo creando un sistema per un parcheggio, userò molta della Carclasse, quindi creiamo una CarCollectionclasse, potrebbe avere …
Usando la programmazione orientata agli oggetti abbiamo il potere di creare una classe all'interno di una classe (una classe nidificata), ma non ho mai creato una classe nidificata nei miei 4 anni di esperienza di programmazione. A cosa servono le classi nidificate? So che una classe può essere contrassegnata come …
Sto implementando un DelegateCommand, e quando stavo per implementare il / i costruttore / i, ho escogitato le seguenti due scelte progettuali: 1: Avere più costruttori sovraccaricati public DelegateCommand(Action<T> execute) : this(execute, null) { } public DelegateCommand(Action<T> execute, Func<T, bool> canExecute) { this.execute = execute; this.canExecute = canExecute; } 2: …
Diciamo per qualche motivo che tutti gli oggetti sono creati in questo modo $ obj = CLASS :: getInstance (). Quindi iniettiamo dipendenze usando setter ed eseguiamo l'inizializzazione iniziale usando $ obj-> initInstance (); Ci sono problemi o situazioni reali, che non possono essere risolti, se non useremo affatto i …
Una classe dovrebbe sapere delle sue sottoclassi? Una classe dovrebbe fare qualcosa di specifico per una determinata sottoclasse, ad esempio? Il mio istinto mi dice che è un cattivo design, sembra un anti-pattern di qualche tipo.
Ecco una classe C ++ che viene costruita con tre valori. class Foo{ //Constructor Foo(std::string, int, char); private: std::string foo; char bar; int baz; }; Tutti i tipi di parametri sono diversi. Potrei sovraccaricare il costruttore in modo che l'ordine non abbia importanza. class Foo{ //Constructors Foo(std::string, char, int); Foo(std::string, …
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.