Mi chiedevo un buon design di classe orientato agli oggetti. In particolare, faccio fatica a decidere tra queste opzioni: metodo statico vs istanza metodo senza parametri o valore restituito vs metodo con parametri e valore restituito sovrapposizione vs funzionalità metodo distinto metodo privato vs pubblico Esempio 1: Questa implementazione utilizza …
Ho del codice in cui un buon modello di ereditarietà è andato in discesa e sto cercando di capire perché e come risolverlo. Fondamentalmente, immagina di avere una gerarchia Zoo con: class Animal class Parrot : Animal class Elephant : Animal class Cow : Animal eccetera. Hai i tuoi metodi …
Oggi ho ricevuto una recensione del codice da uno sviluppatore senior che mi chiedeva "A proposito, qual è la tua obiezione alle funzioni di invio tramite un'istruzione switch?" Ho letto in molti posti su come pompare un argomento attraverso il passaggio ai metodi di chiamata è un OOP negativo, non …
Sto programmando in linguaggi procedurali già da un po 'di tempo, e la mia prima reazione a un problema è iniziare a scomporlo in compiti da svolgere piuttosto che considerare le diverse entità (oggetti) esistenti e le loro relazioni. Ho tenuto un corso universitario in OOP e ho compreso i …
Allo stato attuale, questa domanda non è adatta al nostro formato di domande e risposte. Ci aspettiamo che le risposte siano supportate da fatti, riferimenti o competenze, ma questa domanda probabilmente solleciterà dibattiti, argomenti, sondaggi o discussioni estese. Se ritieni che questa domanda possa essere migliorata e possibilmente riaperta, visita …
Sono molto nuovo nella programmazione e un po 'confuso dalla lettura / ascolto di convenzioni diverse da fonti diverse: La programmazione orientata agli oggetti ha 4 o 5 concetti? Come nuovo arrivato, capisco che questi sono i 5 concetti: Astrazione Eredità incapsulamento Polimorfismo modularità Quindi come mai non trovo una …
Ci sono alcune domande simili là fuori 1 ,2 ,3 ,4 , ma non sembra esattamente il caso in questa domanda, né le soluzioni sembrano ottimali. Questa è una domanda OOP generale, supponendo che siano disponibili polimorfismo, generici e mixin. Il linguaggio effettivo da utilizzare è OOP Javascript (Typescript), ma …
Sto cercando di capire come il principio di inversione di dipendenza differisca dal principio "programma a un'interfaccia, non a un'implementazione". Capisco cosa significa "Programma per un'interfaccia, non per un'implementazione". Capisco anche come sia possibile realizzare progetti più flessibili e mantenibili. Ma non capisco come il principio di inversione di dipendenza …
Contesto Ho usato con una gerarchia di oggetti (un albero delle espressioni) un modello di visitatore "pseudo" (pseudo, poiché in esso non viene utilizzato il doppio dispacciamento): public interface MyInterface { void Accept(SomeClass operationClass); } public class MyImpl : MyInterface { public void Accept(SomeClass operationClass) { operationClass.DoSomething(); operationClass.DoSomethingElse(); // ... …
Un mio amico mi ha detto che, la migliore pratica è che il mainmetodo contenente classe debba essere chiamato Maine contenga solo mainmetodo. Inoltre il mainmetodo dovrebbe analizzare solo input, creare altri oggetti e chiamare altri metodi. La Mainclasse e il mainmetodo non dovrebbero fare nient'altro. Fondamentalmente quello che sta …
Chiuso . Questa domanda è basata sull'opinione . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiorna la domanda in modo che possa essere risolta con fatti e citazioni modificando questo post . Chiuso 4 anni fa . Breve domanda Esiste un modo tipico di nominare membri "pubblici" e …
Quando provo a progettare una soluzione OO, generalmente utilizzo il modello CRC in cui elenco i nomi delle classi (nomi), cosa fanno (verbi) e come collaborano con altre classi. Questo blog ha la seguente cosa da dire su questo approccio sostantivo-verbo ...This approach, which I will call “noun and verb,” …
Il principio open-closed (OCP) afferma che un oggetto dovrebbe essere aperto per l'estensione ma chiuso per modifica. Credo di capirlo e di usarlo insieme a SRP per creare classi che fanno solo una cosa. E, provo a creare molti piccoli metodi che rendono possibile estrarre tutti i controlli comportamentali in …
Uno dei concetti importanti nella programmazione orientata agli oggetti è l'incapsulamento. Tuttavia, ultimamente il mondo del software sembra inclinarsi a favore di altri paradigmi come la programmazione funzionale. Mi fa pensare, che dire dell'incapsulamento e di altri principi OOP? Si sbagliano? OOP è applicato in modo errato? Ad esempio, Alan …
Sono un ingegnere elettrico e non so che diavolo sto facendo. Salva i futuri manutentori del mio codice. Recentemente ho lavorato su una serie di programmi più piccoli (in C #) la cui funzionalità è logicamente "procedurale". Ad esempio, uno di questi è un programma che raccoglie informazioni da diversi …
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.