Di recente ho iniziato un nuovo lavoro in cui sto lavorando su un'applicazione molto grande (15M loc). Nel mio lavoro precedente avevamo un'applicazione altrettanto grande ma (nel bene o nel male) usavamo OSGi, il che significava che l'applicazione era suddivisa in molti microservizi che potevano essere modificati, compilati e distribuiti …
Ho studiato e codificato in C # da un po 'di tempo ormai. Tuttavia, non riesco a capire l'utilità delle interfacce. Portano troppo poco al tavolo. Oltre a fornire le firme della funzione, non fanno nulla. Se riesco a ricordare i nomi e la firma delle funzioni che devono essere …
Ho sempre letto che la composizione è da preferire all'eredità. Un post sul blog su tipi diversi , ad esempio, sostiene l'uso della composizione rispetto all'eredità, ma non riesco a vedere come si ottiene il polimorfismo. Ma ho la sensazione che quando le persone dicono preferiscono la composizione, intendono davvero …
In Java 8, le interfacce possono contenere metodi implementati, metodi statici e metodi cosiddetti "predefiniti" (che le classi di implementazione non hanno bisogno di sovrascrivere). Dal mio punto di vista (probabilmente ingenuo), non era necessario violare interfacce come questa. Le interfacce sono sempre state un contratto che devi rispettare e …
Al momento c'è un dibattito nel nostro team sul fatto che modificare la progettazione del codice per consentire il testing di unità sia un odore di codice o fino a che punto può essere fatto senza essere un odore di codice. Ciò è avvenuto perché abbiamo appena iniziato a mettere …
Studiando il corso per principianti sull'interfaccia hardware / software e sui sistemi operativi, spesso emerge l'argomento se sarebbe meglio sostituire alcune parti hardware con software e viceversa. Non riesco a stabilire la connessione.
Ho letto " Clean Code " di Robert Martin per diventare un programmatore migliore. Sebbene finora nulla di tutto ciò sia stato davvero rivoluzionario, mi ha fatto riflettere diversamente sul modo in cui progetto applicazioni e scrivo codice. C'è una parte del libro che non solo non sono d'accordo, ma …
"Classe astratta" e "interfaccia" sono concetti simili, con l'interfaccia che è la più astratta delle due. Un fattore di differenziazione è che le classi astratte forniscono implementazioni di metodi per le classi derivate quando necessario. In C #, tuttavia, questo fattore di differenziazione è stato ridotto dalla recente introduzione di …
Cosa è meglio e perché? (Dal punto di vista dell'interfaccia): a) Avere due Show()e Hide()funzioni b) Avere una SetVisible(bool visible)funzione EDIT: Ad esempio alcuni oggetti hanno uno stato di visibilità e questa funzione viene utilizzata per cambiarlo. c) Per avere tutti e tre Show(), Hide(), SetVisible(bool visible)funzioni
In C #, il seguente codice è valido interface I{ int property{get;set;} } Il che non ha alcun senso per me. Questo sembra infrangere uno dei principi più importanti delle interfacce: mancanza di stato (in altre parole, nessun campo). La proprietà non crea un campo privato implicito? Non sarebbe davvero …
Ho un collega seduto accanto a me che ha progettato un'interfaccia come questa: public interface IEventGetter { public List<FooType> getFooList(String fooName, Date start, Date end) throws Exception; .... } Il problema è che in questo momento non stiamo usando questo parametro "end" da nessuna parte nel nostro codice, è solo …
Nel keynote della stimolante conferenza di Rich Hickey " Il valore dei valori " a 29 minuti sta parlando dell'overhead di un linguaggio come Java e fa una dichiarazione del tipo: "Tutte quelle interfacce uccidono il tuo riutilizzo". Che cosa intende? È vero? Nella mia ricerca di risposte, mi sono …
Uso le interfacce raramente e le trovo comuni negli altri codici. Inoltre creo sottoclassi e superclassi (mentre creo le mie classi) raramente nel mio codice. È una brutta cosa? Consiglieresti di cambiare questo stile? Questo stile ha effetti collaterali? È perché non ho lavorato su grandi progetti?
Ho usato per creare molte classi / metodi astratti. Quindi ho iniziato a utilizzare le interfacce. Ora non sono sicuro che le interfacce non rendano obsolete le classi astratte. Hai bisogno di una lezione completamente astratta? Crea invece un'interfaccia. Hai bisogno di una classe astratta con qualche implementazione? Crea un'interfaccia, …
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.