Ho un modulo, ad esempio "M", che ha alcuni client, ad esempio "C1", "C2", "C3". Voglio dividere lo spazio dei nomi del modulo M, ovvero le dichiarazioni delle API e dei dati che espone, in file di intestazione in modo tale che - per qualsiasi client sono visibili solo i …
Contesto: sto usando C # Ho progettato una classe e, al fine di isolarla e di semplificare i test unitari, sto passando tutte le sue dipendenze; non crea istanze di oggetti internamente. Tuttavia, invece di fare riferimento alle interfacce per ottenere i dati di cui ha bisogno, devo fare riferimento …
A partire da Java 8, i defaultmetodi sono stati introdotti nelle interfacce. In effetti, ciò significa che non tutti i metodi in uno interfacesono abstract. A partire da Java 9 (forse), i privatemetodi saranno consentiti. Ciò significa che non tutti i metodi in un interfacesono public abstract. La domanda "I …
Sto progettando un'interfaccia con due metodi correlati, simile a questo: public interface ThingComputer { default Thing computeFirstThing() { return computeAllThings().get(0); } default List<Thing> computeAllThings() { return ImmutableList.of(computeFirstThing()); } } Circa la metà delle implementazioni calcolerà solo una cosa, mentre l'altra metà potrebbe calcolare di più. Questo ha precedenti nel codice …
Capisco come lavorare con le interfacce e l'implementazione esplicita dell'interfaccia in C #, ma mi chiedevo se fosse considerata una cattiva forma per nascondere alcuni membri che non sarebbero stati usati frequentemente. Per esempio: public interface IMyInterface { int SomeValue { get; set; } int AnotherValue { get; set; } …
Recentemente ho approfondito la programmazione più "organizzata" e ho imparato che avrei dovuto programmare su un'interfaccia, non su un'implementazione. Con questo in mente, sarebbe meglio "disegnare" un progetto in interfacce prima di scrivere l'implementazione per esso dove possibile? E se questo è il caso, nel caso di utilizzo di librerie …
C'è una differenza tra public class A extends AbstractB implements C {...} contro... public class A extends AbstractB {...} abstract class AbstractB implements C {...} Capisco che in entrambi i casi, la classe A finirà per conformarsi all'interfaccia. Nel secondo caso, AbstractBpuò fornire l'implementazione per i metodi di interfaccia in …
Quando si sviluppa in OOP, a volte un'interfaccia / contratto viene fornito da una libreria che non è possibile modificare. Chiamiamo questa interfaccia J. Ora hai un oggetto di classe A che consuma oggetti che implementano questa interfaccia. All'interno È necessaria solo una piccola parte delle definizioni dell'interfaccia. Alcune delle …
Per decenni è stato il caso che le interfacce sono stati solo solo (solo) per specificare il metodo di firme. Ci è stato detto che questo era il "modo giusto di fare le cose ™". Quindi uscì Java 8 e disse: Bene, ora puoi definire metodi predefiniti. Devo correre, ciao. …
Sto progettando il mio piccolo programma OOP per simulare vampiri, lupi, esseri umani e camion e sto cercando di implementare la mia comprensione limitata delle interfacce. ( Sto ancora astrattando qui e non ho ancora implementato il codice, quindi è piuttosto una questione di progettazione OOP ... penso!) Ho ragione …
Sto tentando di modellare un gioco di carte in cui le carte hanno due importanti set di funzionalità: Il primo è un effetto. Queste sono le modifiche allo stato del gioco che si verificano quando giochi la carta. L'interfaccia per l'effetto è la seguente: boolean isPlayable(Player p, GameState gs); void …
Sebbene questa sia una domanda generale, è anche specifica per un problema che sto vivendo. Attualmente ho un'interfaccia specificata nella mia soluzione chiamata public interface IContextProvider { IDataContext { get; set; } IAreaContext { get; set; } } Questa interfaccia è spesso utilizzata in tutto il programma e quindi ho …
Secondo Herb Sutter si dovrebbero preferire interfacce astratte (tutte le funzioni virtuali pure) a classi astratte in C ++ per disaccoppiare l'implementazione il più possibile. Mentre personalmente trovo questa regola molto utile, recentemente mi sono unito a un team con molti programmatori Java e nel codice Java questa linea guida …
Ad esempio, è una violazione del copyright se scrivo una classe chiamata Casuale con lo stesso identico scopo e le stesse firme del metodo della classe .Net System.Random di Microsoft? Fa differenza in che lingua è scritta? In questo caso, voglio scrivere una classe casuale da utilizzare in ActionScript, che …
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 …
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.